200000
80810 105089
868049039 798395174 746283270 894374916 280936556 178525108 660078194 888754370 677837185 949962363 978327321 152138023 696176784 280506036 254640788 307873350 409827938 783345374 825737593 522627830 215171333 510449258 535362411 898720967 884916743 824802484 358100893 730412034 610070306 149217554 454507368 805776403 424137497 645372050 239920306 489345450 866738004 976158852 291421953 125126378 342625690 109168293 595468070 602224690 759105456 119910044 121872814 557714187 312998900 360455242 511310579 765671131 286262072 491539459 891866316 491961948 423563682 362099925 762668265 134569217 111110223 109483007 438436787 635564783 574475300 401080431 771313711 418515143 287862330 562933407 745632883 314007499 375896978 860398289 802250303 229301939 398121622 444494406 367353674 862358719 108062149 451692753 783489602 481366046 979372829 914882234 344244446 766109231 471276288 515892665 542928344 391807241 754832327 411513296 553415745 554114609 823124863 187152189 566969139 499615520 767312783 581780608 474480655 673275462 999446826 743662145 124839953 235690747 638693879 453461210 827395995 596263268 731688199 214837577 403713184 797037723 717021998 488033399 408895948 562300777 972221255 125634952 552137315 370097110 833577792 311538005 375415568 949655001 881153375 468887875 456401735 966931333 328981018 464610413 371275111 628000198 374466814 876743328 175111426 222956515 795485720 701419602 949950602 877509693 538066747 693255807 560199757 340851554 105148916 328087584 685444333 838113836 669472376 536375202 334224235 962752219 349969846 742101173 152503175 389202218 286453682 359118163 675003956 737464099 288120234 221348869 405604563 970646772 976969542 104571891 548350408 546627709 329773016 308946805 374606388 349963059 194053073 312113828 911288876 511946531 480610967 855484299 493139960 494158469 874761608 413111672 475037089 587799916 951009753 964548168 129072426 953130069 743444126 473791954 547383850 641947023 985408334 831550783 500211664 858759996 850624979 346194247 235480964 880827528 433325128 457953507 134120587 159867408 815499346 152280693 137420841 534797129 315162710 118234696 257913550 284290063 833699194 221451966 819337973 141484861 894344414 677672630 363383038 905670052 201802029 664931007 731697108 880494225 671562608 629131213 744874640 406566175 741098284 125217811 508801579 586610766 575308086 677807567 889052206 331391330 578225382 205454600 832149984 144893674 337717385 153952004 160046645 385917836 378148406 819837020 380639777 518597152 381259286 599296528 358404026 375601876 467169846 354086357 122013106 245174251 550742094 611453946 767801561 574493667 448060433 527195590 664381065 379250511 121843547 781409956 288581735 524295450 853623722 602321990 297938757 662032516 483692482 542373181 693683888 997075453 413954197 935616795 327179403 108238198 465485852 617556450 751811397 761256327 301122544 202899593 768209653 657385218 744205700 594592977 406495389 581731181 880105767 739786842 180729701 334181652 435239916 169171121 838893644 207100318 807187285 503738715 134793338 802362489 367670386 279732952 851733296 668369219 917409757 210355864 386694300 417979003 558752797 855007857 285236527 558124182 691961486 665210206 849245841 555925583 487594449 189048752 297000891 243797232 929647969 474086978 628621213 786861506 502890487 774326613 643416366 885660714 371344256 176184369 603960118 763741348 497819767 284888022 751629483 561266922 305608843 937925630 142488528 617674929 778752083 952108474 643066418 948312062 445818955 861823855 107428689 518544932 114371049 727191077 415676497 766868973 616946464 390416336 445588264 402658646 242263505 173947001 672030515 963613091 786625101 268571557 516910690 357087354 272239864 487165225 579146536 115723888 267038239 908984184 962269778 727668784 267410566 441038558 799605011 949107898 940353059 942335729 564325352 162735193 525184074 275728854 928905779 593515699 495647555 887552465 308237281 407735507 565854996 710193037 600483148 467020239 692350088 674181494 269945163 761190048 772425314 109223543 806473503 489444048 439240985 918522869 616247625 791599287 867572432 547735738 766037502 591168818 597622775 935461505 848417655 419232528 920531548 289895923 357754662 869109617 369269584 145518380 180754685 256182688 795141175 512593536 421858500 431983125 789828499 605893881 624314292 379197943 252299539 213914360 539059124 828260508 740611385 989389585 405621151 713828171 262227361 471950547 305017726 338469749 201029373 144609775 649374614 545628483 122829901 926746521 464912717 254985425 208012044 665967669 980188153 450109917 947940309 697967149 693779474 305225074 672204757 922821486 834587518 813210744 472667476 100617588 107321222 606921147 836790273 663911496 824491676 456309123 329061286 250122658 451643199 493556201 180158238 932715725 971319414 344440018 245930540 317892567 635174726 479403548 632289975 806109883 245155733 486577455 529956093 777153232 562221985 269687092 952079275 889338826 867933703 731658173 272495813 710637692 976361118 979742620 295345367 839861439 580939982 808965664 716914371 289316314 344343186 348514853 226894556 320845420 739053029 977070069 260581814 502203726 175201908 595976661 917099974 120996999 213947059 844359456 501559789 835628501 607990216 455249523 923829027 912885231 767368734 263995593 549108990 845671499 651568576 853493559 414559891 495031398 970207031 685357521 269309783 682801333 398979972 189500098 814867371 769620796 906331593 624140088 451125650 656282174 499485095 112977568 166691730 753257507 910985608 946799229 674715712 416177425 629820402 975495852 236971665 238671383 852806782 369662232 940637920 614668453 652658377 760180266 226960115 551815774 579093665 620222907 525348989 386627894 419910874 283282998 725980080 645626844 647341301 656112454 616260545 138053799 231209015 321918874 489464018 393612337 838548131 933402405 915917542 165382992 774555397 282625675 467825280 614646772 103335671 595170152 775293501 247991954 105379696 509826515 366087455 962725750 250655296 978341663 104081919 279022018 491565317 776018882 431072720 965606784 962697585 875294048 617252174 624177037 963778160 387702256 840062297 829144728 807795074 737862392 472107509 361663537 333068395 494978817 488189206 151282046 614830494 121729084 490945660 441624581 415525237 523247480 327386664 164458245 304425971 679519267 656178247 501282506 429463746 535981815 740136115 486929729 276678950 576043842 712722781 890065595 754370168 590018073 255492927 458072883 202948770 923975685 624765516 401675768 839792357 167772654 536654381 243143448 665928294 605335914 359260754 343788206 807514384 779824260 100475199 327355605 931381370 290871953 705658198 254783058 786820768 200802566 365498339 949031343 517336387 797667622 744091604 649298132 829653006 840936374 676363711 885691891 848001716 719852839 326342631 172166088 110906245 733069331 573289093 979451149 268330782 740223874 171953008 660367442 425189891 280546118 681184230 926950358 933944305 536640537 460853264 694197153 994395575 101552134 395301061 556570604 914830267 230269349 663053362 458355638 509884005 991903266 796516839 206572459 205020658 299200221 541530281 725105640 281094264 838315985 914517820 485811947 909893672 926116422 566401822 563661453 829690481 889926581 781418971 787566465 209679743 211432092 927143324 715537815 411286405 509253477 878440857 985192609 858654397 813488649 806127537 733245255 370912049 714102114 548968410 311393969 935373271 981405089 600371255 644536345 228113870 435159150 583976827 534750172 776213032 752632999 802663512 400085587 969979220 102177014 315110935 436487773 520770328 361738885 794932511 611875342 282157281 132598944 320454570 253417358 863875316 151591865 176393590 991367973 655456682 344509024 528476477 457875238 906994593 630669982 501545425 895339857 125102029 730428085 845015324 101812278 721255860 585848014 369307180 785404452 698990213 796641469 550817115 773449032 440104754 477425196 723769474 476824601 950902150 757428442 381657410 749735960 960453955 374602904 860679603 909706170 935836529 210168010 907272552 626033296 316078263 513458450 761174276 772607784 522503872 586117653 192261619 120289056 837416784 635320281 792202110 386444277 197238590 303244019 598021630 308603156 744813762 245804518 872585764 606382850 836799898 901907007 980061861 135144552 373856822 256148803 174865968 490275464 390046874 643978162 978963046 695770880 675692032 673192136 878976295 243099742 376695310 507601467 209736716 621396377 674574363 189499196 283791269 696544562 684660726 993978287 132947346 141628771 753396171 864781745 286094285 541952482 963725513 604750666 325094136 539218532 438814979 771836058 289238086 484563194 641225898 412798969 368878665 684659402 510027255 520647265 990901666 495339817 240497208 947921249 731775326 905298087 678748984 901682449 542916361 113817115 946601904 180829238 836908125 415244486 528217219 518640589 604547453 812135737 807588741 653339104 512027076 435105254 666738459 422954630 172587510 319544318 626321861 332134422 634860172 405323543 586729391 965635549 211227175 390036961 264633604 273491444 587144398 846407192 450317761 727001589 733561348 315395144 895257394 854657421 279381595 115273007 688574119 423382874 970992709 832319797 249605730 566083097 411128444 678614442 809452922 875826499 733488483 166211720 143723401 658937309 655198755 995159662 615453974 238422651 767814587 973328478 242502612 243951284 420528191 430659694 118727121 639024886 506809182 556648856 272774764 980366242 196273669 950045187 362418418 599761439 253096942 807312901 172961705 664351654 426039144 677075112 545265018 521187528 132201980 983444755 872325867 876823307 777093852 545004030 494569003 562873316 936795160 319036362 651968370 177519994 649367247 578291582 356516385 470196213 175278860 811308653 753028688 617135273 736659294 439295646 518449327 631439362 111620243 774367084 526497428 264555465 325937705 627223426 156594608 664688827 475455317 305190481 493172336 499766416 193702372 790867765 337152651 296044449 418161744 114469051 158246261 233127044 544256066 426855938 431521844 213367210 834732749 783123835 585012358 337648009 135188525 363298522 227075769 998864264 262950884 149207307 194306976 967073537 869415762 658824017 386248133 756431765 666329665 462577363 739165105 444869951 815105050 790277128 121625292 480850008 620054164 512294288 282859247 592866339 818356018 268272329 663162856 776131737 424141747 358329401 643459478 560391434 796334434 103714189 988302724 968072671 486737672 709387931 121817550 649162354 664183778 576487480 188307909 798146849 756400301 641249646 558547761 958193660 101164344 556647810 847217236 646872309 998673453 640024514 287495326 980557988 442295741 816019557 265783061 533134014 219751386 236709357 645492746 235134719 476237861 440397068 550430756 202055807 586047248 519365283 184561533 227094963 427001207 260652342 578547060 364564684 513476773 992689405 446010363 827436985 288299483 982920462 890359693 866857077 164322086 134790757 978641720 844928727 180502453 484447568 423864758 226622676 287459261 101539326 233021488 812735950 179298928 553460581 628226347 222399559 300478041 868487695 843349480 985546281 453797033 852041915 393482867 391666573 980677218 608128954 344154997 731350337 543300925 835601244 582284190 609952176 692978706 551724962 242218305 480551371 697516831 281859979 886522933 675643231 843132064 849447298 838614164 569502075 832234569 528670475 609654645 787798989 617847216 713167045 812315946 706359934 375769784 351820529 312873647 202639285 183327125 662868284 105622929 719943907 802449011 316802298 290227692 730677103 681185533 152990600 794331914 696653346 223040677 567793799 224966479 244395007 389059162 403749255 916366352 341317788 963670553 473782182 883289484 388172745 848944312 244338813 848118880 816961355 675251339 623526203 445936495 897650195 386132298 905313032 149992016 828221092 232738820 212915864 490348699 270210618 883235531 845158702 878303114 237329905 489273771 826320513 245920507 405779841 399505244 269168697 363958775 773895254 963827127 935202113 673385659 132516762 410501835 252042658 380478295 794310471 956079345 505669983 197237176 596579051 175640307 868717983 785193298 437359533 488851462 422528851 853238841 138847623 268714844 726075434 544513691 859969190 145185560 252795824 773901710 396939087 280426073 694396289 226360898 220947787 478106096 828320078 469245166 900756152 709288092 408429479 322609570 774909857 236675164 399673539 661393901 649273351 732860979 721864730 940347932 137291733 185170587 237294055 728007467 898259032 134177017 302833526 314859502 595799170 296130204 709684934 520072518 163774531 677430162 612016026 104791674 388957987 574464200 899437533 598594932 596719329 797159710 163363978 845199760 671200536 496355816 766544666 691344901 480558308 760395486 329230904 488009510 203809947 988054694 904347464 821280627 410199579 761034831 402962007 110270017 812488347 417768865 177257590 293609660 842474680 217364545 432508323 854941538 798919892 859508715 624379214 161259514 401569312 617924663 190201910 474874120 262165521 524597442 325329180 901216257 453296482 645717648 575678563 644427057 947151737 819252452 305976914 934367265 762582175 823304879 328075471 659352479 404063225 137570434 550600259 813197671 852882855 577871515 316750116 385042012 827276968 468379340 335918658 320768317 640673410 973285940 323655161 687477535 253540103 129363767 891250657 284889133 824189399 590581219 793772144 554180700 903099918 795470241 223241955 549569103 730628814 874692088 534041843 689856765 776017530 353317645 954156994 744287224 727695540 211121751 231613014 226645969 870319282 664543127 416154575 339552818 157614243 248748003 607847192 818607305 609879617 515839591 719528759 813108666 347547742 162334411 109323924 129980107 950922980 714311664 883068569 929839682 200567242 586879940 504413081 563308814 979420990 621641359 592998335 692835490 178289261 340535448 704233925 995090590 812285889 568036671 520859879 610089213 627179542 128407647 512145926 616184008 662064951 626956349 344245206 504755963 675284290 881862950 534962911 791180055 190103132 609768931 800912470 237568687 951738435 212931351 380992085 527316884 433258366 121471649 724822319 982099908 738290818 446110512 165269593 961003855 920783984 417277556 345115124 221117627 163499060 678974770 444716464 800208318 710277142 721676708 640391585 153050181 798290747 524505455 997927148 845841379 438971616 910244318 210100682 953268759 147719317 584590993 943022341 207565624 234477764 526271413 927424569 632006649 309999558 474761910 115887674 828620150 424130975 924470955 996504731 257762781 325623981 780110252 462495531 287790633 358667270 631067150 769392041 294066009 502239366 192072645 847528175 309043653 497818530 230473068 914111363 988977709 672310147 686100984 813793845 717859817 328001720 783034467 824202370 981687661 138602763 533337607 678431665 651101237 792501243 609081543 712656895 492190509 857860933 392522870 302596845 662247074 982653200 395872006 779035076 150788384 691483977 537823195 970976561 276881578 722713987 788457459 475204809 962277692 840061831 324338821 228941607 471146215 157486071 572452889 454756105 104903812 621744939 896302886 712259160 571622048 172628854 386612329 761604204 468979699 411275243 514296453 124482661 557041727 408157624 375290809 348270004 643892503 543758539 469504913 594611094 144328761 571618464 511384755 236955928 295801861 498514245 683704793 203892967 756983343 467904983 201910179 694158070 204663881 837246262 273143845 349236600 269336796 181674764 553229387 772842293 318664168 783576071 426101437 818860620 125985702 424271239 709787931 220887817 930316929 526667777 774680007 457461792 928081293 587443648 683483769 442255775 525379429 705395959 201642018 909576497 616885492 633801302 116801413 762712507 856942595 472076477 408264504 336365091 291125589 731137882 465578329 925723675 594257412 672816758 975816920 205663982 387743434 831468814 217803664 236699406 122629126 172167167 313728273 636539573 797241462 295737060 953145373 393827493 287099218 570397979 636343799 840972377 657470367 927368853 592323843 486688647 750289216 427941658 394609885 739078049 610757309 487771502 406103929 289855580 781663127 149477061 560595192 664281873 340123557 462436421 294618551 302446241 795401467 758174014 423838963 156077118 875204776 884666415 377747188 665715245 577782668 565324251 627901759 699854860 875027102 136287971 628595855 566239688 597348484 610345830 707589525 485069574 894008450 417275803 338429287 617224455 690556183 896545284 428860109 524927411 291066476 447663828 549398190 347039073 720877440 446992751 304226759 507336940 327327487 583299639 374865936 388137973 863003939 537570509 616789182 539659009 101237845 846080207 224173472 671015392 632206681 165576545 852449623 964460749 280611861 862590603 580363189 888551715 509261803 202180230 932202805 276835759 429542221 219693700 868379713 208292971 998554984 363849529 906604898 990049352 304654671 321807805 878746926 480311727 801508238 959810206 382976956 172283628 903685301 454911995 440147338 182091798 945973050 998859694 329595357 929813532 843993475 107790744 518668193 178253855 804598884 127334567 289396583 172352703 136335118 446893719 177905860 564205037 467268543 348459426 874281041 556281009 351790649 512876494 610167337 222206140 601280814 398106936 504651141 309826657 408688954 153948510 195414065 128294382 554655840 385355799 561006478 621909493 408145233 557958245 185898148 244513196 117469733 405727677 750636246 201805094 190619507 830295397 986654898 200661674 207608007 763031048 416706553 145216151 124637798 475854041 633255115 260102879 216047224 713174634 998531483 389994411 589469008 754223606 872237448 959149746 273902328 575871743 366073927 704266436 585606969 722005960 916253674 831944117 327025543 561069875 841449576 470901357 111389548 934334338 474663962 822934873 837323249 860134423 286179017 920135711 974583332 984037010 460231814 342396923 423474021 274986928 757632413 912876324 343616176 634796561 894044002 366836878 213617803 398617361 765883750 269512525 361765393 499960120 168162942 553876586 602064815 692386025 115291857 982912836 131837839 949939987 812673621 121488115 425011036 400743589 706648236 625984405 786817830 212878911 627259258 899542575 251892691 794682491 414090082 657292344 601359011 935496133 768213991 573510746 272432153 799419891 904796984 844809733 756519619 153340901 637497813 373267542 627592185 482277408 547058220 625036655 814795958 974499914 890686663 657483391 935120427 815170425 690752478 537617823 510265295 868247910 386739280 530630721 471642253 229835206 607945343 632039064 782553471 285772189 906516320 612166160 231592611 887195565 503580760 777370888 759732965 199855349 302663129 288537228 120638488 151600196 795017336 659816753 907807964 753616171 843171086 175882337 201727410 878467877 698471336 936020460 242021789 750559393 426974870 780679822 733061173 441173660 578587635 689482602 992507143 653148957 705506200 299966296 769588622 243618396 615867753 818926567 165734082 436482721 843948630 295075976 129178867 366624252 300880997 822397891 499558844 267304841 491514452 455275394 949479829 406942152 548303536 552999982 939432842 866732995 893563093 398020491 988851933 850977542 830084659 965913584 286379200 356629128 147555445 410243714 774219190 432537092 571194426 428995298 195671485 658128394 279378552 809440848 746849771 896366625 388923004 557689952 252538994 122528377 606833531 248524175 883672696 746475376 715876689 595875628 734002104 410625851 265618590 657806078 720804975 456359488 234692525 371179042 364178904 432246087 930474162 155866857 984758974 777446735 456274632 228427962 149767824 619967303 254593526 675852025 323135030 928712703 854503424 305178851 826898724 155219506 379969874 400016692 650351727 908096894 560250660 813129030 885731281 535831014 885652533 896511899 904802626 503585334 519042497 946413716 689422291 894040588 884464889 652755044 622255112 689933462 167377037 949973225 400581234 170370253 844574281 761673101 968743685 420339321 106902463 778829680 875506086 593819876 126938810 313850942 124809268 410185826 791505347 398889711 261350934 356590949 165365625 396287216 855395680 606738067 398673117 363011132 443142767 670619281 895885856 792353828 696813758 477691800 508221376 609575088 289173580 675640712 499709058 384864027 228189407 614038470 546254787 660660980 923610084 238041778 642624344 941996954 574819167 400146797 988879984 485373485 119682389 819969206 157690087 155509157 186124012 948027348 874731258 149332929 224972493 326972793 818446184 957101092 325830636 511052318 170650769 342665927 148119161 945253382 549895010 788128014 289474804 562274296 456782534 946621496 115051306 790963354 431042283 906360268 913454859 502371441 840120897 893488047 670087102 969434605 438522185 140560753 266913105 622442731 278120778 230390504 580088086 301760489 687629958 501066470 646759176 137933026 584855917 229720769 546143314 662726772 421135585 798938409 540746992 317342420 991040540 651055577 110576067 271539378 132669045 528031381 749127465 277520769 471587584 327926394 587675417 189114859 204852970 192062712 660334179 830275964 465100504 790609016 118942928 703238770 196213575 666143673 199663216 941404674 520627139 761544020 334016467 553124297 135712289 647078620 150888711 350343125 526019031 469956256 192161359 298647574 385726761 576890454 536502520 135983948 626759071 201505819 328739754 707015686 518794678 840973609 420886398 546211512 242028285 201065931 578616109 555785526 434302251 896438972 692689913 310927169 705381471 914147257 658170768 820162105 534640505 177795228 887114793 339339819 876382540 514900673 638443635 658609791 379501339 386484857 483898720 494882480 409159925 741429804 163816006 899639493 631323896 140810922 354519202 137838129 409007867 124894390 350331962 536539001 885803928 380452788 121852252 408400900 112594769 293079399 732583406 409026874 803830517 970064138 442759004 520906158 846365621 528631082 476338994 139637462 424490443 139688568 358084543 872878041 654631349 819485450 893842956 141424092 142608653 545767749 918263904 854842791 518382013 931424468 450946480 221572845 161432223 638303790 819026147 706829216 575998650 604374859 329884717 369472911 491860026 513367035 385892497 143404950 832120615 434537302 166187983 898626553 208476066 232426909 993156897 523537642 505279169 832316106 733999654 953453208 291248857 227386823 494127908 822386141 889286192 237541733 181766171 151151838 956820031 221271127 671006721 962981851 735373251 304365305 792400116 283338919 814003490 809280027 394521049 338316716 291466014 464958164 345588556 336214085 852300614 715521461 673727004 545267032 541034365 285875524 107455813 585092286 787062155 732196991 248015759 529470711 370448169 445090705 797756282 678284625 391757727 427734875 260095007 521554675 839853021 124884548 885651554 492388713 730945529 270659124 564492944 435911945 200114123 895216432 576934225 193043110 783792126 694092650 823219329 275140420 181142289 133061137 156274088 447251482 321657769 700288599 963711083 170786721 167085309 590818923 634960845 563826290 136109674 268969215 438586093 639784226 309643333 661063786 810225172 817718789 233405654 149694468 519083778 900524966 212080238 982335069 457220620 292344784 833874083 718628693 941691018 137992480 694389800 755890020 356870693 406365081 989577544 955523892 615371232 736659680 531622228 375993172 202596252 650544043 111068953 329651020 758940997 936552438 686621510 105022508 266441248 492981145 335124085 844029891 803707577 883832856 417112863 927788515 596506131 468300950 923211075 975048992 222847182 616187597 130064506 795344942 794486157 338611037 977214422 592292139 606891346 760655139 413894900 470977128 572864658 825368512 451128546 865096471 464099174 382498441 175473700 624800886 214692205 519468713 554831450 430952910 340169233 811282117 168528956 496492381 388183026 143128947 449455747 875046846 379417241 722772346 291328913 916451354 481023637 719207092 895920266 902196179 261497968 529729182 726632715 867356095 678806492 886425866 159592799 428397413 251399454 486353110 121837136 967028698 611872526 727256234 440256575 434078343 434096076 979182066 189491336 159673799 148755812 789570085 224293615 292272954 497400005 125501473 904207777 916889539 217453400 561559620 838350406 984069723 189031165 994980201 251848100 434842580 770087465 161097800 211259170 955214876 675712482 544717127 802284202 177321947 913502959 120569669 927587676 348575961 709408862 115142246 277160282 379457882 532204182 758750430 563345037 879366197 461467463 215683900 958765146 266459158 906967827 995291772 182954592 666357431 279745128 837231240 246275476 950892530 879829098 485119930 471875006 482850860 627634056 337357883 843552078 463039524 116018865 163741226 216256119 564039615 705338531 191466495 997802453 483513718 561696802 201958717 129068456 764279727 520799806 390045668 803282690 198215598 848884192 541070167 945638236 439263901 584033393 489049748 674126984 686704079 279946841 225225587 865518267 791227377 617312460 592811904 811701087 488067378 117008741 271945206 777621637 813021701 910071478 862705009 600182181 479432813 303620526 960900498 364853692 254491822 355576604 336575431 541666894 381683578 938880251 353332025 260192887 758482805 466694009 602608115 911705706 289538556 555014163 865654606 807672530 106034387 248335324 399228768 420175859 228264282 111005628 357994419 178603274 170218647 463247900 820135799 326594248 913927566 780266429 423225107 400318539 413550547 475762606 387671054 818665033 919053632 213395654 763713047 142777407 167729352 134703649 493835106 487571795 306325888 316890097 576540392 727241278 960665397 155813687 704853093 710378157 755354870 785780315 562611478 538413503 933956146 372508100 775060037 598337116 345324017 459406026 639522747 951276156 943629237 434517309 666549151 213819044 913335579 501774010 485092255 722747596 707053250 843810720 946707924 847997092 644652201 452970909 596489069 290283721 163687543 484575335 405606265 671794301 244703329 189039566 666722481 190970934 102112452 753220642 465611444 575171424 697700185 639436082 462550772 676184481 164349349 573100860 179450801 465463278 143975281 803560204 620417674 971459507 485770307 572052740 949616411 985863268 917698622 993245067 913032814 322477975 307695592 922942385 280071161 218261532 681714960 435610471 970952325 602475833 666046724 389596794 479587069 152482661 916002496 154878687 826247294 692835768 668969859 628425194 181832522 786710565 821112545 205440933 547822884 985803850 183464491 875196641 418682882 392974552 290856990 947554269 779711725 612653987 287934830 916979308 351461436 537942285 154062850 593066944 843596243 795041061 248494212 643019882 948436747 638115985 920112058 147530999 301634983 406466478 886210612 986922289 179157499 804198687 618558520 456541180 877124762 160823781 132536064 926883913 880246436 565693688 730598301 785091525 717384233 874038485 250690500 249636958 437776430 984760729 288734580 676570463 943131303 907705228 587024918 449214416 167815684 522850817 513087333 627397179 226233822 860195878 299211909 131630733 317047545 984967590 330331795 718360134 933737480 486069243 665745200 410923887 744958758 732817343 219268139 901231690 703490400 685394553 366965718 589503317 565676939 847682159 584969459 388753301 351816059 936741166 933256505 974247505 780305946 564169731 130225120 651625356 910740884 555725537 315843901 576659385 272036349 660457128 118007694 278427977 304378596 660377782 405372218 894012821 180929253 282922298 402375742 300760200 639613266 758025517 957564093 574154504 618683894 649936759 415627371 426902875 118404933 398570431 579229648 764025919 249050637 902476322 856166095 864859840 871098108 317772988 805518797 166601880 326972708 528148678 598276347 689350672 733703498 549546608 773154558 590862773 670444531 722509166 466259106 452360003 843020340 947920830 581937830 644633129 550704733 257080763 720967416 880305117 353342936 312711131 189993183 461515736 237820368 162716734 407704852 936713854 535997812 654306665 165293281 527677798 892795751 381044477 162373920 987948340 369285250 579780021 184829121 702417977 297385934 602522857 482996365 717960397 106537212 321934229 599325039 901258066 291969557 237438450 734077230 553253174 500573234 445764154 999810628 891163596 198543009 831438932 871053712 913389723 908043648 305055701 270953128 441579369 723096773 762014014 351197593 376939400 703615486 964716329 863200599 205421019 442730802 522616400 156672097 952590395 172990074 625361479 353668196 619075041 134639445 649206744 627356396 208510895 124944641 338075980 902006485 341192151 387424835 137080826 681144584 555877844 847195634 723499728 110541681 951623036 538172658 412201641 941087219 263384066 828700775 721760618 841269328 819345562 139872380 748054883 791550875 987984295 632309138 739255666 881669844 494426714 663179918 101346095 130158539 507797337 208079670 767506346 707665617 373633761 244792546 546810985 181778120 815637349 119111182 192383277 324275980 871475716 335757560 958046393 930907071 852811583 278512405 762303324 411631644 592409719 324278327 911978422 867059930 328505402 418479670 988992848 600842406 284364254 620564653 440236200 761379170 633916847 858667371 286228531 569505951 401942635 628967571 203800576 749493727 585615008 283273439 767722101 194637595 249088475 290639006 495644792 373570781 691593361 339768279 471576862 340122054 715427169 221007726 894699458 718306312 490659783 807748486 300484282 214809368 844354559 354949633 631523436 822660469 149096227 712538362 755780676 329786199 179373164 841851350 785282303 207221776 309952295 861912036 416449255 899807491 809925514 798340361 623137109 886385268 265654034 453295295 621005871 857476106 100886466 798676060 946168623 209158199 339254215 759389460 906463881 618830906 911883140 857581966 494071802 332082197 104671711 961608611 774903708 770544665 985078094 291892826 362330864 539191275 231972437 180359873 189891444 281347833 615793074 810037941 323168807 955832737 385107115 967450594 385293663 509780911 918834350 719742422 325315136 554647740 525008590 713183785 954928885 669050378 546439537 352867054 632586350 379859328 443617435 520205404 931314810 296708494 788426372 123980209 353238588 199199963 425597700 190706933 979168258 980537878 388386482 705237174 620789743 365767257 936845948 922008139 292656452 753214502 981813484 866556425 354709777 508324761 898205344 329359757 709668379 870920974 443765352 378163099 550607554 652316938 334292897 668006180 842742113 195294832 168151586 334636908 569777152 473992334 260335928 480758252 895702061 653351001 968845291 101930440 646610506 911813285 299026214 193892221 867621734 622348996 740412040 247454098 335467967 459523506 581602875 217095013 933091533 717529728 977419049 948235843 789370008 577450365 341949447 795784780 821041770 528612927 345171516 694602391 882539992 589528886 730042804 692206124 384354727 162222449 204070507 288984126 262504511 236218965 235542575 853899650 221873579 341190638 536802628 652651654 574748350 535410199 905418374 441882382 994166501 100433190 548225512 262594287 213255574 926491073 115182522 520432216 338845088 888781974 117660408 756717221 692018170 803457330 307770906 142031181 841544168 445659930 598592004 502547401 207288540 977134220 586827533 102717241 733105703 996488243 211183019 477063524 882902727 593244507 824333057 677715763 416745939 596828628 494918372 315311882 638936059 847821997 171810026 328424731 646380372 963015158 600103806 465584493 837380428 551715564 209456165 598035247 997359081 709285125 500060023 881324625 847660422 979026730 326344594 515677226 411905774 970483456 338216100 393949276 688531528 801470547 979738885 965985622 283953101 565319002 548173372 574399562 870526707 839827058 605804795 385362967 465661284 159520643 165681722 506641754 428767285 172778531 868548349 613062344 772834092 610891812 268965225 666191448 975409225 412490015 483961070 174468270 774273721 687853100 274181160 517267091 208469357 699027576 251147031 854844937 188508200 350083654 880409297 229278190 859651364 475943651 884064129 201194874 792936794 893642679 924105238 778215791 885164271 254233759 883773666 249279242 112840477 990645982 542796807 710577103 780861461 997856183 109053335 452601439 116392761 269039167 163566992 765327320 268322071 572987683 352560497 663963131 991371233 887157598 463750986 723610045 110749121 267796140 144479392 582771071 520420768 149440442 655513648 744424704 665870309 681465524 444541237 478370073 819677667 358898471 760019273 587391403 753544589 366889684 296956115 663045075 294458610 923688092 181594734 231587357 756528459 914735127 414527720 607968164 542975157 601945472 148823956 661683867 977670485 761531992 946485952 993209316 391446686 491441583 621960634 700298631 782857999 507115745 117864300 641871557 466282018 235624776 120400404 941292723 402130159 199120518 213285976 222734196 481974699 201226232 425685417 882054264 264301929 945276091 243285378 160474228 467857989 903955520 617335302 148656732 436310594 996371458 585056629 435095012 691175257 875821914 618787219 602173299 447312694 996636800 532679282 591978683 345642676 942167330 789583436 118877183 440824914 767713621 948308672 962975565 434133852 386676828 640506989 878030744 305566301 394303372 651659192 485211579 149841292 473799229 301578879 491457505 580102327 273779309 345558108 109119446 806055610 750890986 294271992 391346518 216872344 825670479 593133106 517853546 658397925 713134082 771758624 819744075 524761458 236643467 659913565 642804275 961736164 802011458 797851927 280506698 549110257 575905287 861222910 452005335 968990208 428832127 139294404 406077939 533736907 795434798 900268589 513104653 526876516 391157130 926140182 150461004 574363680 471344069 524918791 165474458 204989880 452462926 858903067 835647388 541072667 694120364 719018627 470279959 478948021 108102770 908110659 511210653 306425527 458291171 600248340 550905822 621671507 987367565 734260030 989482437 749383250 132098613 827179500 661483050 398987894 650140966 537006894 770553895 735883448 261977250 667983030 937955517 391812287 651178719 608834383 153090883 353145221 775377477 700216924 388678986 676017424 179809339 331547978 751242363 851041405 862762468 739990234 318959023 642388067 676857364 781780911 870990968 974764788 345237534 452633253 338678524 503220342 943287636 437137126 710516053 463660489 936181070 448851056 816598278 307818200 345735889 741745751 357600070 375869652 732151821 945832547 940053187 109295523 494310163 362235252 713392218 707089169 668739256 543789131 686534027 620383603 684210044 470269689 457123931 608191926 411700072 280639278 760372262 693286707 127523242 275943684 553726763 675240044 506559901 390433197 338702800 200122119 625360644 478302704 322322204 902418064 322897347 764631665 363765661 992181425 680200248 991654766 379456131 813304234 373195894 167301550 850213583 510585997 588031941 235828247 678301765 949262558 846965140 248232210 958659478 432609799 203893658 883167816 748485275 442073429 897853863 578491311 390701267 877672583 307393069 171102351 365102536 647297078 326457241 878125306 617509641 991700954 110929879 201971110 185374871 253753595 262315324 427007444 369897526 208747807 861173879 197954084 889498487 918593492 129745640 363750274 760414225 185881198 295219603 911514261 711940719 783953616 665274336 539625067 982138874 971406767 164033925 447453478 971110713 965060993 906287749 703356560 250608695 414446185 540658814 605198229 765959349 147450426 514739195 197685868 987436605 858936280 985972807 758313379 293357164 881778036 485701697 191663498 161178143 138512656 168140051 434017408 508130299 612549883 654401233 791160360 537981718 921622398 510506690 791512260 187146831 127767956 126884981 675142881 938554330 876788117 100073230 296137066 745788889 773699408 807348059 688332828 696194675 234432798 380482111 787600184 999279731 262183359 788083254 295059075 818650835 322320785 819253340 310260498 630952651 766553959 389250207 421790613 598210138 877667796 741842335 377822668 841989654 299978145 197052192 319623596 902525786 345072911 347687447 848526430 706445030 520901268 285937556 807439847 690704510 685556620 106302866 509560758 627991007 779180476 268885041 340672475 602939590 677141497 750242175 440026791 978375880 135810075 469776568 269383251 574448741 659324505 562505600 277889493 388275232 726247920 160337309 967916692 291123374 946921976 281584727 277319827 736699247 655435258 590403221 788135831 371907847 631832311 666097789 523907449 219475713 684625246 543549664 816137203 636923528 449449790 349430926 885327461 650481615 780636748 863395803 762085574 870516298 585967363 820901577 287483484 560174423 862690354 511235300 572727136 594129340 973821556 991544722 107671931 470653556 161878169 116077477 798832084 484368092 693889623 209942589 186512879 609624425 440623802 924877069 535841628 765154271 596613537 261429036 771248495 223700474 995015939 442499257 933737864 804553053 468215445 450591923 374301769 816374580 979639579 730892665 356883225 185459420 811450585 725318344 915882022 228311711 994410999 389690418 334615096 552532346 453056997 787473489 726088552 602071272 619958865 998027295 418643319 591465558 295551261 119464286 873952193 926347612 108915353 121241602 732028497 830673677 936643236 516446257 454497010 106619926 657910294 211097019 405884428 209005644 237963803 117969351 494173469 858303632 814006108 933461331 845367379 236595046 686015953 551484055 427034069 460808376 416805928 997676453 416511727 505988233 758630731 710442393 657578748 152815067 225111507 529111200 787365490 411970054 122639923 516322938 682600350 567120683 825588006 776086018 971869587 912348211 385718414 403892494 993117079 511030530 519630998 225135615 309307609 583409228 991443826 319411905 505127832 436657111 327378153 661686085 454735362 973258501 584589254 221929509 287760688 483675463 852533994 948543294 926136374 969229137 692879519 904711940 682684128 268442501 244572512 876967431 440651819 860416848 853175435 851914034 981826749 748438571 319184527 722540876 217296981 371558509 912225056 927711516 360107951 809483390 685079858 259035121 936127176 614942107 236448796 746370425 757732810 778119501 205858736 395801278 225584679 685334534 667409957 182448851 776689757 711264985 867149590 792670997 766232373 476613083 856112037 171927791 705830352 524951225 631607499 338372568 330554998 752552339 443542481 358838202 846302802 213466372 295408137 288057382 669165461 432445323 259064052 348650789 563064848 892202926 955851753 564825158 597976634 884629524 968495109 126914993 385322139 541796692 268277740 967007853 295573004 773947420 903468216 715492929 637227404 666597787 187288901 140312774 678861386 238914170 162022692 145598615 948097285 372002851 648597842 679936227 766063467 675366726 697371283 739293340 286307182 852633090 338401071 691812124 866057365 696231241 515020238 428248348 209082308 357150174 284307234 597556118 278772014 822051376 862931025 456480733 889543755 635645039 195296933 381247710 899244118 369437184 878018639 129954988 975377527 271823139 728633414 826035244 549953736 194653836 121723619 371866977 534870527 745922726 952433071 150217835 585201075 991131165 844591081 326954069 835818569 674260041 831371296 884409764 796491657 507031016 399174597 511453833 198811750 314409078 292210973 531162143 678472132 182900567 562476793 234801698 644002420 292413866 768056897 802349457 995973899 703743994 763139386 428149761 360972657 223996783 522824295 112681966 297533863 106350711 722688029 727606898 653435295 733356644 963410251 401965214 720910150 683408301 498356984 678848755 572650304 248553596 233036245 950794545 209119678 802729839 713115321 772370367 273626003 389096211 581793918 694458331 312084920 607660524 949905370 771446178 623955412 106919804 208033807 337067134 183553905 694484816 105475765 295374274 221112041 247479538 925863732 280244154 477274978 734324016 926141613 330261950 678655961 550306294 833800525 902574947 909550511 883171904 614242021 856716986 718146686 803044095 709241253 957654833 389496073 305241004 207147303 239437862 201269067 505125410 826583485 715564517 673614928 265233848 953164438 410806147 761432613 676481147 723410845 139073489 738980800 917620685 357576235 860900330 768247369 616144733 685730991 265744323 254092461 623048563 326616134 262902994 585561829 756007228 281742374 994226376 664455414 878321162 330286108 584680931 610877069 814832772 818947102 720121709 163868534 987751456 283579598 125647525 709095657 512971741 269355901 183780041 103395152 588915181 524322735 256429983 361647649 500542734 235080737 274456843 995676658 590975006 311588430 700323804 815811684 368815323 564702456 739949981 309385322 740083243 634586059 318709013 612202421 610007794 812014107 482470823 368458244 646072041 957982151 119629139 530208132 869941334 572396350 939719912 761046581 542998335 322027553 303891271 344941308 524416529 477901031 893740646 435170697 970135299 286837123 311048474 298256292 841828746 191736317 216559077 532279617 549054057 288698764 866426146 812608570 319550103 844547184 756655325 559522293 223982806 520643232 667825309 730662166 454638391 446849904 764273858 735772487 398125773 536971775 770192360 513969210 351526192 382507173 721545408 981247678 114522856 988114606 897028138 627387742 348207123 656384274 572872227 736817124 245808537 728533477 277635871 348564357 218527999 296345006 110326110 593775233 424872864 183561088 645914955 285942833 115104328 568777332 438737306 956185453 161477998 848857733 914925668 112096051 332976470 626890105 725921349 791003022 989032619 272278590 659899906 713794456 304643978 474178154 944670319 572534768 214639838 607478588 180707901 881710084 881681803 728869987 444529496 733106140 143785342 810604107 395261282 676946759 843145410 213373979 860911130 986581400 964227216 645392826 964654417 630290860 699165239 851827425 437827107 962020609 348586878 420126238 503757977 544080429 850739768 789051004 194622733 422859196 526498176 168054045 250292733 384606280 920025241 492656180 330846055 139062593 963206028 206057837 906041104 277626853 948785305 444043327 814959460 699508976 299833015 444103900 702045436 678643523 920108691 895917304 390586934 531902197 220866807 614987992 687023818 811987789 402260710 810643823 435311559 702575110 412627695 670754833 764441632 541904542 998670941 990068716 788916089 618961833 277820232 717795799 437756370 632973952 965138347 335416619 272863327 220672773 407579547 608822414 613789613 647663519 793182801 764613352 487086140 433480590 438941349 279687599 316631749 114792177 174703136 776147131 141339187 167889074 292057780 772736939 961906426 617068526 171153625 446657013 757604870 479287344 859002126 845607932 573270322 834317944 650780148 422890986 438289208 441038153 405489106 856804965 680937254 255359139 354601339 405592269 199792339 204863361 205347808 704736800 130544271 768878294 300120790 413120642 572701931 658942320 152550830 870556412 173647055 414763020 937489847 146749823 838124870 803298314 915903628 256338177 938592778 241500714 310544710 328780425 510912340 943504989 203229826 146923559 904310014 114394650 862850855 656033852 342534711 618656748 139092639 448863826 199348044 123611082 575880167 371166014 451973432 495125831 409115544 130484462 237115187 828269829 448332357 510666879 147725200 703124166 417304378 319754166 535959724 158903517 609861820 760701105 619394128 468094093 938958909 796025837 756852781 926841575 727267661 951737712 369322694 552850780 873481096 258722066 146276364 664468177 550088997 563413131 606329213 853171503 685403584 561415338 878914567 944039869 938592533 524455499 124032067 679997703 496614614 324887346 519427296 566959093 710302877 865164088 711218403 246031353 856175630 833098932 738892462 652062092 622871637 856550637 888864084 954545899 732111710 936368308 231428829 656381110 209133352 662514997 830358194 685828912 738374311 400990114 943079694 268628820 212190145 135753173 289629352 270590697 626330411 426317496 269038763 873741736 702946065 783420770 101692170 555594975 783203926 691569218 672752384 820488088 126254112 954860653 280760048 589881523 691504417 804814158 949285294 460485980 523149242 169675244 414568509 190240454 854162836 161439664 955085245 727390794 536993508 251703900 251715759 194327601 374189370 809736873 720298404 174020637 374090998 698022043 198185110 215489056 854613545 449094287 931644976 937559234 101041137 386029671 179001252 291561477 232657726 238651308 568357390 896769772 287062774 862970973 226750469 845546388 811050193 154767568 210212475 123611079 813169071 260433207 384161210 731219452 558320758 740989234 659295048 565548934 712312653 362297634 122764215 926418431 557751857 227273076 667613774 574993528 155015271 683384481 372715343 108333669 783895409 936160194 523697206 878673665 290499065 539215854 858335017 339096949 228413001 522391884 780197998 763565914 916269949 508007927 590311011 128090177 373554332 620742855 768000319 334904611 157498497 336123615 899679811 180663430 898356328 691104122 200890670 716987891 779081920 422267620 496973971 640072410 702647351 643001187 191750336 801351793 837865844 274349242 751123126 793543084 502251901 738196373 838031699 914452675 622569335 362550570 168741555 100371489 646875263 169207398 191950433 268297949 190426617 528122192 289966967 640507711 489725673 912264169 798613896 279406762 359501002 156650690 349464134 442789443 340427929 320393616 188346162 356869950 739218916 553233019 525370161 461649749 871517530 787396290 483256455 844996667 461388723 618740330 440109309 440706874 973870434 143200283 196336097 971538327 854737941 519085592 509199826 842430907 775692983 114686526 389797699 123031935 353606784 985037870 138655843 583021374 318004768 357261641 460605248 673617159 536104715 867270501 883352581 775895169 104414940 921540716 399240496 741495629 431568458 344074814 826003782 580412756 398243831 545300872 359296743 766569259 138727134 602973304 124441752 514972398 175982399 785511740 240497526 437073295 369465607 425860992 756282148 347147172 927185464 342997087 421306281 367182234 278153362 468263769 589680739 981267608 896926681 990459954 679679679 805787159 222773979 617873776 445949657 887290838 367944803 818408313 862513151 445838442 663188939 266144654 901891131 979515275 119696547 744349589 872709343 706675383 518388393 189518841 586348208 606190419 128494856 242375513 287013060 725885454 688456655 755518272 659794899 572044697 282379400 731393749 521170868 713555753 695911688 325212904 865714119 992110209 913580374 995606296 761993165 822712686 500438877 622973931 892563542 296444996 308049529 265398246 598070581 880603778 955851243 244155706 623731419 956535624 541316951 648637101 253429338 338769765 510591615 665377999 968994389 465300771 325283611 144753171 719445898 158043493 557139962 344397916 238777630 171348997 851838727 227294829 109309462 450269594 108656524 796984326 168347620 388342387 645576168 844428085 728550779 166193394 162203335 847366939 273950788 551879191 186140335 752544286 149072830 493575567 179956406 990904023 665271431 845473410 454960780 362669106 725890273 169575321 446072248 319143489 243095942 181086866 344873762 615131139 408013380 500706198 691239941 389413824 789834584 669941101 155569767 667819225 998984044 326128052 332911038 919288415 322066721 291518303 604170116 240407627 406799904 392665642 875000865 735354990 783821898 666864481 610535901 488699447 584110850 299980282 593487389 731774954 469067811 593527072 148296717 864773890 322905901 181852437 483476889 492923082 854717704 234090800 188406006 970959834 968043676 194345329 869680630 651516233 332100991 204629836 343764648 431367799 877844664 581645082 491217436 407805183 682764498 672316900 963673440 234279978 394995438 299477447 373854868 188925963 957023241 806927975 677594284 864769056 532145007 623513867 586663658 148893341 189781801 465790775 387756684 742584685 998888940 150307615 508309045 761545239 820243003 823111708 161817997 104891474 353043981 989346699 549455020 984412237 766891217 373583984 739232094 977359844 174935839 651873142 478968983 236204413 665509257 433277911 661879174 316031958 881883104 600597237 586973382 370473493 335634742 249109682 718695037 789408726 457861502 270584822 950517171 548983953 108050169 344905231 143147440 564419417 977225985 162209893 897728470 264499761 340485484 145568909 630590343 274415124 530226625 390982296 421250070 646267792 838525509 375275931 244810962 831689701 193007937 153202253 708602638 965752097 972446003 211864306 670762470 457841964 883487392 990682330 463084232 688774863 143425728 963820285 463094154 784965771 720035939 713982085 512221536 474464418 383777387 318760324 917923523 693571353 241277457 596290244 719722295 155898127 166122309 184913490 252341714 742879556 916605745 323642739 358529539 551842089 361661971 838675074 298794314 424235457 859937832 324526086 610129979 485408503 167714683 682835348 843763694 439635832 927554548 731802681 784347646 634650191 960018565 535066876 450678098 494419995 557868928 248532673 254567168 536701028 200860261 358307828 384674473 720346256 941428398 578117778 383966806 548682280 693831574 345913125 860112457 321279515 779895427 174661422 773106145 448767431 701003773 707491150 939512035 744470822 540419067 853822569 894588448 533884933 427615271 587548053 412345679 969626992 757475100 578439028 453450746 606191348 699003690 464436801 142921495 244939362 836536627 908853313 607880169 962100087 496993979 292854474 443007483 338664506 997435272 141700163 780800437 728558867 446923542 972010643 998944996 169418636 291938536 629544820 158943521 257949701 324694756 475046145 851308150 105820956 439316794 205634942 445628250 977535676 669554210 561682499 130025092 405150076 400330883 180210605 745631387 228666341 165099613 857353311 816651750 488637665 656765240 574853167 688240605 962994281 865028889 983468629 486082131 269283054 806433465 269902950 438347284 490803375 809156390 711371445 520098745 886419956 737694522 882003536 800321866 481905972 603377890 791686511 435530172 269609459 811680581 638515568 568037877 616333336 133125137 310564637 301090387 539237832 335490566 384032469 984189910 725665132 665186323 350189926 273378130 552853428 200105575 643279475 412283094 692375500 619975854 660906433 442678698 886169273 201015705 188325324 410572723 982167377 482426038 791963897 228717858 842362722 975025329 828796691 182060536 451813816 727149820 419360511 824143298 115906945 501172706 302826920 976286460 853642724 113703562 433706220 398564564 712229871 271967098 481392863 738177848 594309309 505289491 418320958 758326758 300056944 534498140 286125541 318898249 552592489 130096269 354180099 927176842 938022471 442510471 233608070 411239691 943251218 517338821 138151658 208395647 820352895 863933103 263374512 187270701 498283595 205585116 529482166 253741644 292778672 756661622 284655270 368453723 671519299 396418940 381783075 309074105 735473846 193945938 912412691 998012802 920090401 981294692 338666267 789864937 637491892 439683719 519237361 582518696 477429843 618895050 400035738 938614175 976352318 170241857 564819627 179283362 559088311 501307020 873128974 877897822 507708761 510388107 448916565 227775422 202355885 282497049 300100280 630889100 528309295 557169346 272236430 316774124 323341252 131693903 594291233 245768166 892964846 950400880 458704434 316118556 626144416 249249424 871765977 895234618 367641224 734564935 490725219 867945586 377146206 259913819 693589278 536761850 517743140 562519185 179784413 157543653 424239135 898066111 437067496 891511345 662652358 823142793 725638901 670926294 784670411 903865533 473048897 573066747 698719744 479375467 906963032 858803598 897666985 711160083 593746621 670625208 963138071 567655562 863634494 550487017 276404574 153284785 736826538 174512334 816225324 250372355 340324863 683902678 698030399 474818419 542569292 552920076 111324769 568354016 889928622 790133568 916478255 888850512 359546729 638962659 408939582 190542869 659577277 250449279 962521076 937559042 319177215 871552123 508714276 242327330 801264867 236126631 138085635 598504662 961649260 254570684 401380388 500298304 301337622 621523228 224606933 366424321 320857503 323163291 233073719 235070973 823500473 184647182 181048080 830044760 988347668 909113947 556177877 518080310 239191296 398494752 487095958 761033177 856703078 889699710 485368064 317439118 457451409 522671172 294283670 816321199 954061205 570600098 727395002 621741538 341107240 420653500 621200314 659562214 351254317 721481161 951886536 760948025 327383360 482884858 579222739 692310685 540131019 425445760 411441219 270645126 438281891 587471987 110573606 205212442 902149183 532053998 539776752 139346043 115193788 411348952 741917422 795613504 153730768 112811458 903743377 644137392 803742956 453525752 166265946 129768568 848642661 818966673 598751627 537877694 598791880 669234735 415971486 339350262 915596716 264431846 600277525 945526075 262611965 271687815 699122700 389130415 529740485 843374025 303311990 457021528 662102443 869889571 283245618 416648051 226455495 537974416 839333233 544721728 151257814 400466401 922739878 640024827 370273715 669939986 978153227 388038925 503203971 784028230 220088594 941077354 278921441 909047159 351690107 527821470 887179963 335905867 510382471 886038580 870233251 887728164 730279785 934299905 562865793 572116985 614206952 892661684 496113055 107383766 720875192 561744292 252553658 938680317 363880536 120291071 899841464 956439224 612586848 706924482 946563512 138835461 153951513 953368467 267340738 508251903 887438369 770841433 288405325 731466256 156995897 674685263 879726351 844976182 459297744 305709041 676582105 650614407 177755528 473713017 927540582 342121806 808979845 939377396 292860892 549694304 577597269 285874357 524121382 497185797 664862723 972716803 727155077 320367742 998716757 779314973 210544663 786173962 661235850 464740372 699351694 986568371 743552325 449659568 809628532 519846788 370840219 269685173 852112051 301016362 232796242 481331372 280195873 506391146 547925953 618797585 765854825 715075464 707739607 147508033 124355885 999762936 368249362 942718979 513664970 453821901 697028832 601678640 961216452 118969254 615576481 450568801 161217474 731499422 178967838 703315456 611901232 887643723 707528149 616586971 941480933 629990271 953263504 213094418 644539793 861252542 350866376 920700966 436875838 449863951 292928531 815070839 821871045 558412528 381350927 495404034 198957342 415645637 215330775 169756283 781854230 946758681 948374368 111791174 592554100 794644831 286263500 793476321 753217165 642481902 922811342 688161301 398784050 551840779 626149795 207545415 239888781 253339819 101908541 478270561 707227157 739378722 156692926 259572703 515304796 323966798 826038018 446151007 307982073 712428859 797464223 153069198 335774256 399712504 191123433 908917432 364817077 610240962 422356109 207883265 792285073 828621613 815153897 444616410 146670531 404294233 615283377 673584993 800398114 794210140 122292600 897559951 818859253 526530192 869186194 795163621 910577144 404399670 966286033 508322010 680267241 121587095 896711633 608545870 387129394 377036521 681018804 457025773 251004515 588773081 943645124 339310066 913412911 726688143 489536408 781170989 487215475 999359741 106275243 962699305 251581018 198659775 733313294 307936440 442251759 104811507 707852692 783758801 702409175 176267294 141522133 856670366 335564484 660913655 784451383 282260303 985677083 700974508 792896860 311170181 172114989 335242393 418393032 322847055 889460709 703656903 245521289 956722419 147923542 681376166 946236353 492216026 795942530 617954273 176378006 296852262 542415599 977316308 411733953 358511767 389544539 697181558 633774178 100761275 552035001 255252305 639937471 802127672 993962211 766701204 564537714 657898258 957852344 867236072 988105295 353278609 230152483 988181918 699596372 500679822 778606048 160774213 986446384 488816154 665061300 347122255 383715859 885900184 257435722 653238174 301147222 964915659 552715652 408010929 403018530 604288142 934272591 344831201 478359209 353752876 110445392 353308571 702615990 178527061 342684396 322303141 770571526 873143005 418662997 158941260 925945004 767244740 126100894 277228194 911179829 709035495 292403520 666349640 479407994 446180101 850101330 368904923 746640909 185756227 947079315 323266902 723307015 464252171 322888460 128251919 719664372 528934878 966838994 495032173 601768043 704606257 307143149 113631158 547234704 221131887 185542102 944824313 502850122 475571788 995471821 398117085 931150732 732099968 956918700 821907338 492359184 892207295 489203134 759840744 440624228 269869529 974324482 455768732 824627340 967885348 986118424 518118616 557329445 706099074 102011385 872832828 625029788 495189009 996392014 644832490 710423669 329012989 816961984 879528134 425923123 557437234 584017766 449479195 937951212 195874624 709733489 645036955 731338852 968185840 153491519 418232000 285727257 429176860 796064443 601969743 395801936 845840762 508550639 416224167 254724004 486081188 402339157 183344796 758859114 576748121 629328908 474483844 851448566 187882237 711963987 207503665 316901296 513700335 759947930 244364699 457162475 159430642 623129566 724015634 817357283 508966084 559093909 532038613 935785429 156551304 773370658 382545912 214282117 634974020 552464497 132326345 825049451 367876337 516321930 939320302 104088026 121272649 959039181 847590075 412139812 917644737 843886954 999492993 839631203 999201728 892084670 370352662 364809859 432858567 300614806 321839195 902897954 629072585 955685697 436700914 607883232 410885898 451071746 365328821 691686269 279582474 453492419 201219646 704540693 517750532 756951093 999419105 428666864 793494938 345045721 603561355 988867401 711833992 944678953 819316941 813073098 288464461 221227645 260542927 896659367 621982660 914256362 369620370 696883352 158425979 276416131 250321382 821337857 228724908 419795843 318237851 886916492 623978608 424697601 675899031 118786654 768673374 267477431 136555414 475992765 666593888 719243490 603370504 832827558 811776201 245369055 880023406 357929455 741664109 505304253 654330199 262017686 706599874 687587435 852873134 184356197 694185734 968205146 294349528 431874582 323327053 544084071 505148234 448620305 676975784 288191001 957451688 616773356 800221215 461763338 483134996 285079945 465215002 963908569 129044136 713450975 635585119 976779245 854965760 933333032 472231157 597345870 388554206 266924290 841801181 219044793 551031042 239002163 170176453 507920180 919523931 896599686 195847892 584099163 130659182 680258397 780401156 211406183 846756546 455855358 837660456 858274801 543593387 171823256 503959515 809031499 189863431 504694410 691385459 705590223 433125454 157064660 822913969 518977802 830355723 665934939 160647849 221859354 258234292 166093280 254097066 483072156 725731399 300765438 235228773 267930248 309174387 516592732 233669141 559672871 355725099 123732574 685353763 263449794 252452941 544485167 757191998 540217814 478462260 532525069 923406735 413819416 687927899 105809799 996572824 861181393 200523826 996204918 120060930 878793020 994553165 281306220 587477118 567281736 225932489 760349665 291772575 213274041 984955493 424908473 503758564 101846643 179580653 732760897 202159728 445225710 498827821 965931546 100660841 972714565 417317055 635322429 850020806 781006889 633013968 772606139 836826695 955505780 374531661 199425683 715464304 463899273 558173893 608676098 921246263 416899153 389327477 863990917 772726179 261811015 820507701 193845706 925725652 808625759 660803913 714010949 258899561 761397350 872514265 837021028 500610970 976409830 562140170 820225472 505529244 364796415 411912941 681848871 211651550 335294565 557834795 120607094 527499886 637172287 897463508 481923275 392543538 155333325 191663642 180151852 696551101 817509247 870889981 500495464 299583898 456978293 212188210 173972069 489319436 914493422 767539022 185528876 287224590 250585472 194911312 951829414 577097813 745614240 578251319 466841699 701338033 431711714 414448206 907505531 374654163 256968337 717035600 134243102 829264878 964289579 377805849 632382015 569855032 305437893 529560807 589991756 808570218 184743978 949386287 526594542 770442537 711156511 695298847 362733109 726734426 365217339 397756257 663587953 755783524 544003634 382770740 171660212 529008158 348110131 280228126 763385508 527399455 391377052 495935265 401212112 278025198 810361282 802327814 825930436 895919199 270912438 858774407 538677953 962144906 482618239 140708450 669021344 230892054 163937968 897824954 171496964 557158325 764444364 872765839 489149351 672742883 775019675 156191824 918610037 300102638 751052281 393350378 572337584 132525557 720882182 529382724 500861746 850170144 662157347 411487277 594292062 814821546 877466774 662214047 379065253 473269891 270786221 981931883 305843152 113767419 878595949 141517909 363204431 543036179 612075752 584852688 248523084 612652307 405099240 551663943 551177606 363919557 813656781 750231579 506296695 552471985 245149031 815936290 782704649 285837478 500692669 107877762 883934671 928641619 943605086 495284886 507567218 755189104 138678385 353032855 275982908 573798813 161649233 851368647 750395186 727088383 601295356 219553706 482968730 437473262 391707060 167164494 207723588 917845301 663979680 224040697 157770459 629993340 399580803 353869549 202049461 473558109 901214608 961774269 757452279 703977103 636090632 675254418 913764702 546755623 494440143 372515812 894426631 849839927 836768459 805419593 911011025 722083072 267218083 953428023 531823433 296042535 762714229 927107286 594602465 629313171 839252188 124073574 647583746 626665828 651691204 137296679 303053506 183295499 976167365 843310580 979871447 959542060 520271225 303234749 338440049 478289556 926342809 920396521 651189917 284530995 956636416 477948029 133604733 265249097 153954924 233891667 427433898 602892393 413781736 331906194 766468063 956756460 861703686 960384587 342159444 870176311 684710025 451347073 891934521 466364745 177121866 621005033 242284926 814426733 908046200 109202612 782361793 893773836 225565164 387847841 396064946 118923235 931682885 166877992 632477665 141165242 547327627 223725750 656957791 439255328 745476463 546096162 826180693 637441165 862253811 940767808 556579737 473424222 386922187 711306843 284722322 371749848 107571320 669877344 643950980 211373644 246175376 449921163 781794652 898438003 106517019 807593275 310045755 531446995 654388035 345826496 775412801 726457183 646562160 440954237 575048880 686140961 677376853 971203670 492669584 889768132 445067484 987716615 119915758 864711642 439202962 971788505 711115686 657989568 872156328 962663476 770183754 515015082 560316382 717528471 769512683 679850929 295118049 359738255 890524131 913607912 585754745 499302651 689473140 949118220 580003914 211838154 175374452 205658834 978532181 978435873 540752290 506587372 372465228 294694284 518622593 700709437 460165707 243363961 545933322 593670337 845169638 270522074 571698087 528160264 550367175 933629169 621692416 807455712 635503126 659524341 912200574 601167835 430387974 421672285 369429653 175468758 674810309 916234970 184694149 462029046 726934663 927671179 302369347 622997471 528375130 888836872 132775754 582652274 831303728 970712212 546298358 901886046 962520105 282965688 727429186 478442885 284104221 748920596 984423275 758246212 552034545 304247900 569640841 797513051 403562484 745323508 540122028 511739565 215726804 675472355 264601068 180396532 864039205 455580240 987375921 947643392 322548265 503147654 890734157 813119243 854481632 752006851 513357630 248664692 749150044 967856644 828882711 103586302 254918372 281098919 386097986 599302455 835427632 729615495 237460678 518830259 224154860 715670342 691574690 965418811 424872363 563581670 639349658 504694670 197251696 769004098 409590598 228138194 261421056 956576331 849191070 853316260 661629652 293003301 201924934 347515895 635337014 437835196 940676261 246537106 554119650 665261263 293769857 391756956 425620039 894646045 318641301 515097123 585640863 944454396 997265728 377857302 444476445 671909545 389809593 353383083 143180780 642037521 572330646 601011776 488385379 640585362 370246120 624424841 934251530 288442834 346899298 564158229 261702139 376610976 891025233 905905612 138389138 541412679 509242493 857783097 948395985 758605936 948905438 826149378 594671236 414595353 925936102 934462714 697359358 728515418 182496230 809032022 802584929 180313967 117722989 736652354 763513783 198126095 704210767 735037652 992162280 810642529 706280461 598558221 244359081 829030156 666033370 206285287 643171166 642098088 524700845 775698586 557544993 281735543 844306582 881714826 645200405 328908827 667967765 984861721 155297360 763509360 877796887 373333927 528161003 470793692 309861782 989881951 899622616 556225725 185708062 235212047 423088916 533538649 494199247 135024118 107740937 889383418 596348467 228113520 923382265 637269899 114871287 909347201 602785450 206867653 287752387 388502425 892363309 850912038 615095262 144231369 749103871 212248407 331182718 514425303 373402576 788311230 800841530 770986636 783461467 922439224 820685117 263310230 464796126 480189207 750997945 127753074 920378673 951937686 168829239 710564978 740015786 673072760 534538345 791934266 940624024 893526208 476145033 590700843 519193703 147782733 586334952 787095105 759503081 567056168 905641992 692428255 104579806 197691439 842209553 775335449 220262321 914781271 898436712 963998099 848682051 511139485 488703786 275684190 190121381 712440857 538813463 633363478 129944048 285689204 712284172 976741789 286355368 995991920 960884005 709772320 199709338 576908135 941068840 530003214 407429736 445916427 632181397 792876790 105505935 210274677 249796555 856688835 967372106 769346681 360765118 511024929 938466311 194056285 404125508 742548427 781263782 610866314 389833741 346041456 499556515 651015540 171966258 961674503 782659029 237734749 610830817 627836572 956667920 404783377 456503445 943979784 979782311 891487976 994817581 613000270 745226358 260841863 249294981 336337333 818714109 680756634 815206272 739217287 345867730 459896348 372797187 616274123 465198335 483693630 292804038 539237524 412691922 890720273 431561676 808953023 472555701 813916829 887314528 914267888 388597590 459057731 204698947 167049994 985220051 532864156 546787659 240992465 171993469 252172873 190313599 762038121 623671800 689199375 498331152 623444228 711554886 327174171 551560492 621249680 229855003 515615434 623472924 100366665 488206100 326603300 988168645 805714577 142014866 415425787 348982138 660231843 956269249 958701015 244023110 213555730 225659432 800035214 259585553 739540498 933660511 641211306 999743092 166377717 785545316 976308305 251365316 977660437 845637966 593054603 580295745 778455317 601637015 773167183 574314884 221726140 553401373 865697779 459113293 866230348 320075448 408115494 804672434 691386832 233366051 608689174 600764249 217704853 476508510 318221777 623625493 789792871 635601726 305754553 119394784 261763217 366817048 965022611 840950420 196641622 472187806 912254232 623285944 103453349 762171525 118450545 912317287 870061262 717910737 329815174 998771497 396435849 324485306 797926783 299338100 241103059 891376337 431695219 554072545 870804870 417075975 861495815 182906445 876889262 336668895 496869509 480699633 568938146 678368433 274754794 305571064 762438048 645667272 538909958 876706764 892886051 972623066 443965736 938920592 445169928 531056904 615887850 947740206 556989668 435932114 969417628 423803886 247716542 889044895 771315690 908987489 459752061 783641117 606403554 401649224 826518163 708690887 941260495 343172683 868536043 808329702 408431370 850803383 715579937 388516222 564769822 521258555 568109705 433083559 776995711 403237173 974183054 823162540 952202186 350861843 705672148 537447585 761775009 951941025 208343503 457293329 482674207 705439683 109325299 255294733 112750831 727954615 218364731 695998671 835947485 287663487 121908581 315979972 910414912 352725698 631961505 545888339 293635508 680055495 942010528 651077077 650116356 436379092 215535538 714062122 469632308 668035318 687608529 578124043 487940491 148047713 443560439 625801647 202697164 552119675 491205152 124484900 576777119 463194992 879652248 349312435 841671682 188148177 413339972 703236352 539172852 359302877 319758287 479521107 249706323 840612439 497141450 183474048 968350873 863950682 361033926 731526828 294304734 425191195 343541739 846744031 174944236 837772598 434219021 278558084 967083379 700977032 126732262 429354821 586051096 884585059 444710065 420944450 260197424 618598104 571601317 903870726 552740761 840016596 591206399 906925624 980316597 527105961 765635308 652291244 625423238 902392848 525455481 217498199 420733453 522725025 827596760 989277295 997402474 289882811 591508281 463341732 834459684 688876403 228877227 521157247 821392376 388584190 517493093 429708163 145094082 520842270 775034690 169370746 935647877 327107089 926192269 385540554 933257678 607989318 722134985 799049087 106590440 189228804 278085860 724004513 715375718 198538779 568258183 110428440 386452698 321690189 541064737 434452421 462640013 113199654 670873081 604002715 101729090 753379442 942040887 823547130 113163858 338977195 833948883 409309438 156839151 205115687 348715199 947714971 108362523 523685344 300138117 220253581 544431375 552343465 931115637 498437881 630854521 372905701 153183815 130292529 314403957 204126122 729466097 426238151 696726314 895256793 925153311 250322865 782610924 814108165 159515530 413422129 152568653 819426450 640970444 747736169 500907262 946367628 209405382 163107447 659265008 595780804 149249383 672252261 732093903 670497500 235599610 282225142 281973152 310309182 846367756 914619088 166442239 573680376 772286701 297304878 656635602 495800364 871797123 237864169 669146937 647849533 698863626 947208069 232257024 336388174 574872300 469027851 219779385 594279315 461260227 295423750 315891324 853516730 726711067 730677099 265188170 885146583 275612272 728302068 223883000 678302675 391981757 414368718 230762357 736749709 392788325 294327929 905796269 630764310 827850934 164048168 105278911 304933188 390039689 625728458 687205697 241118628 653202989 567623192 785282603 276332625 666599682 864367047 446683857 972075960 962819403 756518689 717427033 790425466 633185137 940772149 724267952 583736131 202445133 141720389 569447612 865276010 992860981 976956677 782489627 277062362 520095781 344183438 194129561 951390903 900788246 902641585 926743449 571555353 956972349 184157873 317945328 670005843 787873255 698168607 815595311 951778249 919504375 245952632 373180182 592361953 388697473 773075696 761992427 217720347 716522843 218967227 229558236 422051478 625740115 628122886 701496979 214692992 850423499 799836562 329815744 542904578 531637754 269453009 154672194 307359663 315577345 162708687 160519265 288583567 436079570 479237329 693536603 701734243 830133624 282795490 984563129 656122124 634660828 613768733 300111509 740601099 113007827 386621413 168267791 525711615 447642304 895944885 261380684 645357739 420555234 589618022 800043519 781153481 555814047 376358298 384901764 548517832 537623541 179418832 686201116 424202303 344197063 551700838 264218183 974050984 547300595 718976313 434160155 511344413 462114695 362183575 920950499 606066416 629660502 724868242 141066256 531849089 358285349 112998252 484913005 517888646 995416777 433231036 476035667 906790003 581660322 336560631 899975924 784755473 238490268 495911900 779188093 652688133 650805068 688809865 104952781 704469697 688387386 705659200 468152302 961877683 125187016 542924076 922699191 329021745 969480692 843020087 643197106 131755790 811436574 779684221 375581185 921254149 515136628 431366298 586831861 393770379 271217185 294508256 388417380 503608744 857955338 336764357 638969981 676153418 569684367 251632151 916557200 585353070 640713542 218659811 858214604 949928414 108184742 177596561 923568945 343446281 602270810 442856143 528505551 680033637 291110776 854030347 404136407 529767951 840945520 601018795 445647705 612860430 107325953 154173081 643964368 758259344 207541643 988662801 698491307 415114025 246273874 540909819 561892542 359404643 184689880 901634194 183868094 160416666 221076821 586961469 446320700 198186193 138333859 172775371 469803887 265418564 273648171 664152096 313946057 529843972 694715716 949262443 983464340 253507501 484667473 793408231 401713093 300419854 785486844 405794505 257536577 906894719 964124172 289125498 766295992 323678061 521753140 463954060 175448763 304151046 197606735 321953723 974749975 830258483 322249376 936502680 494020421 687615351 569032779 160446869 976897531 148904532 170734633 505812384 915344377 374903108 222608686 216287115 969928253 498944713 644947038 547686951 679935888 397297491 244370373 529037213 170492930 928301744 427788122 226550645 746759219 739560980 999737839 681281896 978925449 549852555 229456794 174783095 556183052 647149383 824057763 979208405 522810985 712358997 662801039 787936769 910829859 618615186 328323394 123269679 677453461 246349463 363223177 445916099 237841309 951073226 537813775 989574663 906968236 890204155 914013107 282282834 235759451 868314775 819972879 123143473 246061525 886469687 775955235 753508221 177600045 581867743 612867843 978896949 454632578 740736311 944699360 502373904 647061425 563857714 526316341 396115405 304319204 275520358 630167634 407443188 784872017 107535343 144974442 893090461 691660173 709691115 436210679 324305204 558175057 309756679 580040395 439386374 598069180 535941117 603242059 881465088 337319431 235457586 594004524 862765749 460371409 834204868 883677648 455610475 115607796 797483613 573495079 192010542 959798416 975096474 444153545 437131692 382914864 642561106 471319878 274518601 264653842 124028473 724591173 475414174 385695151 762399041 640525139 467573613 315018128 926348957 751536520 951965678 682014882 633105834 637380034 535988307 605506902 833228908 526680833 840251676 294235866 930572091 774322163 789798837 280817326 305453084 300830784 138706445 669133740 334719574 360935844 959221090 327995172 475648558 522116679 975705491 563625402 287321713 220511029 142358960 325146451 730164707 973434661 713300551 137603380 871350940 333273653 497639719 842548057 252733857 782529370 467807948 239745131 836923237 315668445 869360036 402700139 803192624 923221202 431511651 347092291 751233899 789262176 327512856 101931381 261426374 860484596 612746100 149927339 268838498 334752803 819096922 729148488 511519240 950947448 546799883 217928539 373961147 390212467 671934150 886341863 590811627 464714845 772540921 315923306 839099723 215714335 623714720 766442737 429702004 263294527 884043940 638216256 493629041 526333116 844038028 261899250 116333580 582527784 187099942 953728451 944016650 534176041 255486708 449473890 817484253 339002523 797374823 548444534 419769737 906737885 317205660 517119939 113661931 392130068 468211136 188004765 709691572 868042790 563216951 548369965 716354134 247511137 847709870 455163038 270874130 665091494 269213234 815722146 680666819 520575802 804139525 648471723 663792208 688891577 364652240 822041593 842341724 102962571 199250592 200090399 652433182 939915865 254069200 505407795 993390771 829586484 841132340 337384770 351122601 469683494 106325711 355442563 100622140 576119766 306659664 270660360 119417747 641989704 526587364 592926223 797597261 928094752 181035935 678228630 121663783 380923969 782414218 721101551 160329602 242821962 775862705 439285203 866003871 916162547 570893251 501076423 690574068 124598953 770066223 325055931 897740918 176374347 392759905 138990589 463969985 132645587 537533983 416865105 935342380 542894853 473197473 602909690 174917339 932158736 569592394 149515279 346206699 988051638 131261269 822331846 960540737 605112679 391579325 558349022 526754530 316055154 489567459 788519863 409531958 359869940 892533784 706771325 848706957 142671908 645553443 660550344 961731416 664536992 856166311 783295155 940420320 234858231 732425810 430117439 272973767 172777442 345004792 162042716 685198625 803278270 878659676 648180665 153579798 283040488 780313848 758072049 773400186 593743155 905854847 325307646 204952905 557976680 565797463 585589815 640237134 329540810 264805639 441652473 905568733 376452471 495182370 222324005 528263173 799184851 291098662 559636374 328807622 501110867 346924721 649757085 650084831 218268691 318123489 568193216 280949270 745489843 909967698 496687015 836267560 512812478 497045126 859755725 161128978 241543102 266123267 263470691 542814028 917676659 665775315 748686661 623996881 226354924 598374570 620845998 164503659 733732890 402119699 118113313 592513095 132791961 140301950 175912080 425294797 769186372 193775200 745933096 258936185 468182031 811868630 457367606 189844967 130118310 838246436 505256758 795126646 704976232 493577395 122535341 444698005 442259833 614794224 912044590 113820240 437028021 477344864 986743168 509261473 802660762 588180915 365601259 121153893 943763670 623873517 314442843 389822108 991036115 417093707 756308692 507303216 165711936 711087639 659217404 256404695 971983050 577464721 815588529 557776906 943715620 956916461 951049452 114257843 966742948 763531004 193508824 246776823 439465734 826458924 533270910 355730014 892229616 961772288 273330276 164722837 341077385 170525970 587677762 488557596 352709905 772070381 251522322 451012393 240980286 596587822 323942574 695782712 919508996 254649984 893370124 453047278 450684399 411334887 510312788 941596673 967205512 695418910 822494749 946964332 643301306 647291887 710990767 787144990 754691969 947543661 478323947 674430162 206402052 161674242 618996011 265514037 122121256 759875100 234582152 277533053 786585274 919344184 787666542 341574982 153377492 522518934 547517698 486703991 669599197 174000281 726614997 141593157 461950071 407492338 924657675 601314503 741038180 792675729 691707198 103304869 790460317 618615088 284055605 554160381 345866061 149378741 497703754 913449068 156682912 118007368 542727150 977724155 445899607 104755016 607138106 216906446 731850721 561294765 919930146 579171367 735235665 542396222 758851617 767609376 114884645 121613033 675610596 134364145 514533655 786838529 304230510 981092294 170761856 134763069 682114023 959798240 152594119 937221156 999117745 945450197 761507124 408677342 509671024 904344794 804369289 472893394 950589560 313167194 968144777 442169159 313098003 772308321 799197162 155977735 751321274 635865397 262741182 266279177 818640149 973363048 766771043 565621688 644402403 198616852 485581714 157873833 818733748 354615220 502669249 578476241 305250209 971722110 668615375 906236169 412174200 883843329 196710766 867496580 984163373 465968667 449042533 967654495 349363055 568157523 583000222 647088023 129259756 868240348 535556964 842108324 782369682 223771244 130621511 248570308 956502668 926758464 282241521 695888513 630832681 541546266 423051769 143790850 549329771 901340506 266422308 337884948 242802070 457015252 207548888 356535573 832601488 410573024 885201815 784646712 469810892 507526500 984815471 139843750 606692235 943711888 528838053 881614295 589612359 324750399 516540096 997280388 304116128 142518507 794414364 155486232 808235942 637127730 997257307 358891161 687262305 771045371 859640344 191208480 693726778 334983631 684373010 645657501 469878987 838444741 823532994 495307497 637344986 481949230 193017653 887056710 308333431 339255922 310843924 563814648 767623836 195944724 775584276 454637923 317889778 499507150 931379843 402329981 820473754 399943944 143790089 669606680 112681839 143863464 223899711 923163442 834069292 632546077 347137291 814433018 151975329 948096156 720015686 910837709 664672442 456458558 270517522 318343135 486679538 201865802 620740177 949292919 908906465 454190585 294405205 405444302 974508910 480552571 972635793 426093302 680108375 565783402 926027946 995778662 492733568 400294945 369161252 555169033 146029117 323329457 392254452 702257467 371929656 197709429 171480941 103446961 796798345 451700942 794201649 495696299 542805319 609932271 298768525 559505064 406276116 625041029 107490320 858671589 606049311 450712480 631540906 684881803 708313752 441205768 308147070 646683259 182775341 444723088 546664391 760384936 484850060 965349644 903021802 482204935 328190389 175386695 229415851 234137778 351454604 311277011 513275038 638289010 307401339 860011390 999470197 934250736 777234868 735891244 771574840 105432889 871642499 805576868 159166136 639237874 827672471 963135369 722467169 589311836 950515874 222113853 803799047 550692759 283927959 892320404 809423673 482607253 985905802 935848165 231817794 627560529 407353256 893195493 651570616 991664446 306516046 970467009 115298693 943276320 257152134 952217728 981814010 915133208 872210027 988701163 471982140 915867307 605246895 778433140 663260209 286302637 125218964 687295276 988353953 639159854 135633514 555037501 386114355 625607038 917732390 286229291 238332433 254852604 358610360 571240179 329837168 363330297 107713441 497331877 233280836 564603275 474036505 323829984 223686089 275964000 767871982 244115963 559917656 185934812 754338465 700835095 257648369 680045460 689644600 390635068 770060962 887862166 174010999 404900370 777717805 395278258 713595801 770450948 426806945 983257753 832469318 290468658 771878972 907873451 430006471 958807176 903098173 745732027 764225390 495973579 739940579 902421502 585370396 690744012 936555465 217899500 390279276 389698550 297019440 487973967 961450279 555007738 927367561 524981598 504825105 216367935 164712960 555976376 330040095 856119650 629952545 388435269 236314384 551103465 856690585 776926029 434959674 862014781 112875289 402173199 818440506 671406198 423588595 449335682 763296313 409412649 504551417 842990465 427984398 737962567 714437379 447611250 719258004 956888372 861670275 111279807 694018595 927840931 384426981 388361307 493376571 510833166 929996356 630490063 314175751 538418386 764930208 813519763 501366182 834907182 184702953 868137202 464149920 869971055 835627078 255443260 451448629 845188851 380217960 709244818 608273435 401293321 907993145 452850048 278197180 174226572 474747996 331583134 695104124 561740038 361242707 752637674 591672382 256883644 644191113 481307916 126316996 827209332 452011037 233872302 224514422 687422981 821333235 592787268 621716390 609279257 535258979 326871011 230448728 487779586 561320847 926403550 834958278 448814737 717012695 402927949 838856955 802419799 444213618 582212949 506976753 963110014 464821710 830813029 236013677 537048909 478756485 178176519 963477648 559352702 900333566 164757775 371837358 708993579 275812875 799415067 256912550 430955618 692135871 334489181 472317549 703336867 457421601 184693168 973623438 193456416 357052630 492964337 624845638 768859703 804500173 787983537 655562491 889850977 102705112 322888879 959150944 936444307 997289795 147989385 193886694 827319705 736945078 944697703 957365037 747074991 384183351 898371260 411456816 215446910 822059734 788155101 968675738 641224211 250363333 671858368 825943611 556203004 639922666 130361663 656180354 401610241 597076865 242436697 693893335 405956095 194837316 470889438 196067251 862209574 891429479 610467734 793052172 870762482 674603474 489948412 618707228 315922505 510676928 271476716 368348511 296578245 763547708 173602041 388943036 460761551 107137389 427145190 861414783 723983344 622576848 138162321 147687855 558325905 508419022 337183246 451181874 332961107 340177557 184522663 167552910 253294421 158981834 309774800 387221860 308077329 241403534 181796388 332216538 929002399 707957953 387608096 829322159 384570013 359653988 619272435 754658533 360877048 615931860 478913426 680403816 948799407 298519165 384968655 261437620 180557934 673305730 629678840 337579637 979658149 535038113 754694699 528998066 476168733 428741715 521944703 391758388 728307515 950512474 175185047 427577686 498427412 420056392 339813832 873149055 456910618 393447183 571611660 391544280 239802770 383173869 635051295 750186027 670735887 628842117 486398481 939268555 285442743 141506136 306691364 181983722 393572708 610979504 952904305 151966506 293044438 499183327 703595732 900343207 738630341 279818519 701457600 626931608 251920937 368221553 349731230 750190537 429045477 525264063 278578790 703376652 218114403 569129191 492669782 655551675 638045689 729325856 472611730 757976608 932074400 233405028 777966550 215838583 946386657 963663008 953996993 238961858 720732729 745805119 749336900 733345044 975664575 294371235 944886222 923509537 514776682 113145063 869024602 986819660 457316025 651449096 848639691 686066477 448027786 222174351 154506590 762384769 139776047 970931100 311421338 395867882 167826605 396551656 272368779 288910468 865733251 878302764 991368144 221624043 157878031 726071519 725732503 517030524 663372324 573702161 670927864 300554211 473741253 628371493 909692139 849329317 120817200 110209398 875365158 909317633 225646972 770204929 616111958 629110950 437543450 854455172 444099107 570193093 665255171 153220741 493463733 936788519 255499729 368234304 402602491 512680662 959262750 378693255 809403569 691222063 447251816 669566156 517125309 501789900 855421016 864522181 206444932 693720356 149948883 491507076 647200002 509750613 395954284 578968137 604761130 930740861 718318028 463352853 304180122 369951618 612611299 526316160 790523092 652844731 722939008 386793051 919978262 723969503 594440044 366453078 139122394 559792130 787917134 126228482 840390757 326382625 257313396 400951007 134193916 365664389 225749188 708788282 824012287 815200473 532484445 119787479 140650905 886618714 837788419 603889694 423798593 685538731 893383411 394242852 164506319 921609159 651677042 742576048 405592350 200914128 291016599 839530887 187286226 247168334 287880594 749097291 209009938 818715295 900601305 448749988 747920369 606100594 797931600 112428362 377086098 171966295 840036439 789911858 100249421 951891727 290998799 796323179 920394658 826102125 922553708 556445431 869987861 487698017 637786876 752130502 284503812 782010606 720449801 774022979 318623899 861270785 275892796 770753970 987155523 960692900 160358713 326465525 973097950 222105334 626480778 643186818 965643354 253185284 540106578 392683324 156536136 425854088 703762647 208543426 943661295 144505836 908664181 120377702 773943183 487188037 125566192 103586378 395029223 365500194 685898644 308102777 695319085 749191452 730970485 196700282 984251873 447522588 230411351 577376405 442808685 316549445 122198215 610772889 256356332 295421412 379081976 822585168 989646846 629520822 156425997 401411596 966180773 793845378 887418150 630986590 259577325 267320547 312966224 556218721 308267944 742489976 578927723 364338894 201690525 104699677 898135405 717508823 345723716 582396549 184941086 574680062 688891242 201607205 210707077 648503068 205628429 389186871 770235963 615939655 531420141 344517408 421778153 428751014 178420455 482258507 871680007 936026295 946329185 110188091 717637603 485950250 824517590 313603232 712724581 663724168 820222099 805791546 667874023 199138294 671338930 471200360 834007442 114055928 345030508 242309182 232386774 702658345 326401912 160098870 110407579 256535835 979074285 946561829 871339119 967936856 546418479 419724342 225410482 598864701 676323737 681809041 363331509 322420845 429652264 451193259 214858385 946791168 951936579 750013964 424450315 918767608 315196898 248594680 412316370 158287645 608435848 232920897 185421251 594552107 145302565 901663601 169768556 677480098 979710561 259003420 918751916 489242130 257932376 378732572 361338448 831600433 864921975 648126480 758765459 457359822 729144681 279185388 733332883 686914999 805245631 953232266 609441639 145771980 497935526 336391572 777757955 765881095 316143119 914506395 740005960 155630653 641053062 797520429 926255952 459413586 868427461 481244778 170638165 664395163 213873808 413541335 684251045 848956655 486446903 901574294 936352383 903687601 410580172 285645324 474711510 717664077 146591886 259862804 606106209 817092471 141222322 833858853 492387960 436135504 553611326 358617806 630342827 457343994 779585416 621275100 425492282 534363603 519074979 543959492 990470638 876159825 813992629 687097377 994147083 933218401 190607573 928228873 415142568 313604011 941723611 142954897 910996075 121189296 597363503 514852997 110329356 450786005 429185435 495877843 208245091 338864543 578319868 784132690 289704295 623737848 973410912 908344775 508284093 553692712 744385312 497879124 528571761 407587899 349414683 605840939 922493604 646617519 567268527 743337549 937274546 674542935 955442449 797871880 747499230 298690476 478400464 169984272 442432744 780307529 868417677 419839035 443227778 300177992 641561957 778550240 958728974 666429207 842245499 668234338 129831524 927628001 191295304 241469717 234035070 346494544 496534557 128773277 972609107 162942396 440464799 363852403 551397262 153527217 602030371 820798921 438308670 532816272 289433329 964060802 995711600 525797507 755265994 734968323 793698987 251230609 812391266 894248897 990638831 440591352 683270870 800096427 672478158 157155493 271345459 394271243 893209747 401875056 251017600 911977575 584636454 127594968 739307132 287351733 451875486 247479537 296623179 428417306 983252791 848791430 796228891 992359471 150522119 985347888 925420679 428758102 776237122 803489483 545535450 729870286 127337736 458972860 361229866 249675368 482773224 642904265 912564736 971869342 767988158 140577431 992976325 811828012 564236660 402020378 540467344 954957328 673103128 531030631 210581554 995726076 646396742 762921129 838745273 736042626 863906101 727622997 459887110 130157729 616557188 409926006 918961026 352942935 762465631 814931852 870900338 405839447 550095558 126003214 956918791 434797460 248285466 999789493 399262204 368292458 568141532 505911342 473586265 642222708 677833166 564944476 344896211 563927058 755385776 375815853 121686277 667285903 389536774 247447651 953979574 148348233 458410411 934047963 876551286 507255476 284446805 622444265 642737564 147808818 506109159 463216111 962593923 342928866 760480315 143116047 988161836 229098106 901825474 624407996 713359957 175508847 627153155 541271493 555696558 565660759 675373153 487246161 194461089 151149746 869621631 225477283 744249560 725287627 361745099 227392176 731545282 948999099 427200460 848477286 293658673 864196301 397628205 834847598 325084338 222231426 310133788 138563290 629311053 807421719 217501230 972433948 635346800 126802051 642825883 102565377 281535745 479809790 205985801 466482202 572284267 192969756 782389485 594677191 366211602 845491922 777480366 149332588 102703134 960752855 477511132 173854691 634685926 641699515 611585555 155932928 849629232 429297096 586223118 532091768 252336403 453727328 619479429 749945020 873550981 606827489 640411893 509544822 732046345 921056901 361487499 453153430 111130173 180140479 391730774 905751614 932424401 380793219 379792883 313550924 419224916 727959840 164897855 649690761 490709148 231060066 551029113 903548568 211081828 129265186 673636961 531736557 251387155 873544218 994738257 984931909 317693812 888161969 285474376 884370822 543941754 939256555 796460878 536550473 705947620 989593483 823400980 591721616 899555835 362514077 344820250 458620746 630926691 760223395 514727863 777283384 109232080 202006634 993839397 538039915 104591614 213056622 803906038 773472500 393749339 735359305 690464428 636340986 183240320 404106416 248733882 897613509 146786520 569080695 792106383 835905117 914461481 383837876 612660076 200403397 516994067 756072460 882498856 402265353 378756159 259297266 333779270 373787661 847660375 371230669 981069505 467140259 515987683 197428892 227364682 589410524 959634147 423651512 235937863 119700641 924118085 777280244 777021935 980983808 667423483 959237171 317602133 490583315 158518683 258350660 569684298 529516159 984573380 996347741 373004723 909187310 490973640 392332911 542874537 554863534 964572125 786799499 485001871 647516557 736406284 346516784 327073129 609717571 390748873 529352974 562057827 560718576 135317771 229761809 517413770 119305540 704329601 107743605 622261314 210895157 479987444 287262721 598910696 870428387 395803163 797165220 695182682 624746625 979557496 949355342 176338727 644163864 477535847 183673258 637023673 694532165 814023232 312875240 285596955 476556183 777757374 432730257 674380419 108564530 173399194 368567106 789007676 399678604 331217378 386562011 487552848 155844780 527830847 319174909 865928808 835855324 951402441 759120903 892734574 565021456 969058538 248707543 143726150 945467751 872233659 668844229 464284769 905126014 357512970 796249903 120163267 148282622 990200072 355440623 521769250 151484099 241616035 865621400 682997250 248019222 988866505 373319849 392094398 181662136 593426356 306920186 786279558 812567607 868026131 292684236 778687441 726326313 778256725 232132959 125448470 997911882 249388110 302843032 858660506 139756771 695091883 959107023 939446784 682840808 695774690 591129950 696696808 290124571 260821057 576986981 466548353 808114599 666593586 816655203 366050724 571880850 740278755 101899800 580702115 369684139 764258347 602716083 262046290 598158124 166768723 327957386 868527759 361742077 662601719 913594325 582764508 591302629 805895420 294266866 965107796 721380704 783322182 477647254 323577081 179936295 813880257 842139912 282621461 176162316 708078853 496654190 190252576 851744089 289738792 236927040 441801118 367566246 395704756 291413187 441371146 183228744 979951119 488433980 502804318 150237832 381961316 952687393 579245216 732502737 298049170 584624939 831217606 644909331 242472542 516751468 807537283 387022716 222813349 729187054 601044349 715502850 871502496 254895118 373004079 599254650 788322776 234835807 265709373 453766936 853052153 822722746 577549914 289454459 885038290 553651389 461127053 367791797 318680816 986346488 411301407 132628540 752389607 916905493 641097508 417952247 789385252 199829033 830914526 546842426 102070780 352793737 660596969 889257603 403551100 630448589 243442683 861581685 653097484 478227096 645066315 500541919 907952466 896193689 191681906 982562435 486154142 351748436 478085482 873654586 576262462 540909778 727787413 506028288 909874338 488677976 357781871 232484122 222434104 647758938 310890409 420408598 349669263 894165195 556515653 898268733 591866251 292299332 399253366 214159676 102568244 471159174 215806268 130268889 457202429 528013905 408003858 959429278 659346918 661619692 330779836 883161281 338009274 163154537 459914169 615601596 466078828 475990442 223726802 850387664 699799264 880067958 706502007 435991552 643484987 264717501 512846296 114939759 619646368 446629959 550804561 669684781 238118531 684456746 980782048 345647641 857835952 300102244 749772603 334059723 554780995 987517728 503804009 875667558 927049157 254884947 859611497 515961850 526032721 786882936 194988219 885367661 123070150 555521930 222773385 618952087 622673132 176458149 154401550 384322404 669248120 339772778 996403583 440766602 437291394 568177115 866968043 387216959 383270555 489616093 754749350 445427920 353481922 127617114 297064883 174442789 728350069 548804315 391223868 832850293 624705823 762769961 903569866 604322523 214488097 147893093 481671906 636099074 178202133 869979142 924857274 736246969 774033743 764390483 157093374 348475647 854633664 441110662 913882287 982959342 714585264 427283072 266775884 296537713 167571992 215665912 306689138 855808735 594110576 972572889 368670142 271795693 359335914 239264767 860678895 358482343 607106475 740054421 499873644 405042551 925687686 206170955 669600863 674065573 967815217 765459825 841493119 593957455 377370730 712586188 662510315 498506988 163017478 126559214 107067535 627007549 403627379 637975398 104126217 998387496 441714537 618821639 879713260 401834917 438631076 223977667 236827038 595671575 968153449 672205738 957818332 917217927 447878102 659336074 956482735 697951011 547870070 692195569 692561758 820061648 411878859 896309212 945306635 625428795 802650226 705529141 396434517 421862439 610208941 421613114 558940826 957360644 565356929 766570729 460726620 143592862 970107904 119356846 809277506 303790707 964055989 749164822 753414298 115041961 388068054 378634641 278867549 531246636 401500204 899450357 883460580 763174633 457212614 232239370 444096600 550840956 119651965 990451801 163006423 686873381 636912881 517643536 875653380 352077490 724282511 737347718 301559183 315019554 374414273 739545790 672414460 923904671 832173499 581981413 446279271 520795419 770829077 786679597 437980752 232219902 661736794 799189762 795338719 732324461 528806982 635308281 423892359 665098552 365166735 135382456 561322208 229431266 583104107 921895058 764204563 795746070 675745043 795272646 228089067 462109437 808722236 376339769 261506271 266560111 569882296 746381138 812647874 999407149 726068444 305304470 183189611 560225024 631144597 325837470 397271892 932297173 902911608 334673255 825297463 708520799 764220232 296248410 289393870 788143029 320535374 615561306 710921670 611757760 520606605 194590717 495820673 512802525 512072768 688125211 767381472 196955739 784653881 188801151 685682785 224943377 956678083 351780840 436612282 318101663 737177457 373854774 998158122 571458012 298030404 304682014 795568287 430235452 934484056 467847299 748883832 254792945 118397003 628607479 231130522 956721538 303346034 918539154 513902512 912332135 827566105 861529710 147372075 225746665 545056450 441718381 909279167 392615818 433877089 268138934 517851820 992447810 463293511 675429350 564163620 854599464 656208765 391683300 764019164 988783954 156821483 211103922 164446807 969436058 984963790 729218849 952941747 350406827 712291813 511055519 774025354 618967102 548909046 503115911 319032971 529793098 616560764 166116695 880654023 769347112 600915327 462330064 419381231 721908247 322961627 655530569 521394496 850850195 259352726 691111691 581569829 431922392 101040652 266806351 559831040 374933413 728699404 375140829 245802211 618182360 778904274 698545595 120560151 749873823 218167981 387036464 438987630 263921248 730394300 610729110 443686058 689954572 842049848 189875166 815453123 283190706 410558047 973543588 152485573 696239107 901177009 204943363 640718690 578198881 884795513 365763777 221034647 176367627 711870082 480341621 953128491 863498883 353571173 128525777 158499632 780688614 321540221 785509676 793892983 480945795 943308107 436929659 919161426 388687858 480866372 983759261 957964987 888824347 186164477 204690762 965523032 644128471 415590440 376141547 501194716 732432378 545459121 866603100 223936500 827775231 919436253 992242056 770082329 202263447 802135383 894145465 260826037 806128490 328194408 218852148 748639985 860807101 730868271 667183953 866615291 459358037 239916534 253932635 116767663 408476929 955557913 768845804 507632708 108111710 291660182 608882483 133138021 718066034 291713695 726768174 874567221 949676545 642136243 954171259 289024030 580267101 374756395 807332184 599714892 583377997 344954461 602532459 169515595 982921622 679043039 434378356 947627831 352749362 204536633 767981283 794558393 637996948 487205835 737567625 313045677 960495425 914340767 351848061 586521605 563552832 407521513 582955750 850358287 372791840 624044512 956984057 686150787 651373655 258246703 781849747 945738691 358574094 592369795 467356943 996840651 848008220 815854592 652302737 278326619 230989390 484064261 988234732 760954013 688156867 651545474 615996101 481385526 740694451 480264046 159539169 120857830 537463454 939769660 865929198 819035011 109451112 411906296 653844576 592562509 780575481 333288494 884311696 721579183 304334559 144229077 929131385 230525198 616689510 498282861 632882040 698441571 132763657 384143092 839616544 213504111 857624889 387579856 223519819 421050627 763053069 165632624 228273113 500509938 625155900 398033934 940620720 123303288 537222505 119794822 544040758 415779702 857061839 925245508 444780687 855864622 807183751 199046634 569965541 398399900 647940826 681523951 780620019 881644292 923002489 160628604 199456921 107934077 844494059 805725549 533508807 703540431 727518254 351626330 889317227 827906710 918516916 641397881 574448136 612185679 907551898 941216140 662532350 479410496 935302780 541975127 961661828 408963993 872507082 192034981 680016771 541421963 393976582 543500596 527306612 930115971 158921400 466657264 623180176 921059608 363168001 975742105 651128271 316077428 756930902 496602128 137852731 601668797 200042006 780971209 830498711 341909350 988303940 774607726 277760481 772209745 416674034 371558627 961902919 242748109 964582064 540978792 781910235 722340267 416567549 966186849 524183495 172166285 916024266 789497903 920821075 446903865 182156627 305142492 717492966 343097840 230207598 523517108 735447539 124587781 229822350 877123638 963387151 427821879 858406572 661055758 176512349 772199041 509191858 173194881 359767686 510705987 943829372 103950693 786001260 408523616 308615287 981729279 147081939 749767737 159625313 369380866 550991529 351125962 116147740 289515896 193716203 263441717 911467794 792854634 916134750 838168352 754062120 787746593 962838585 373197264 561283205 374115868 779960270 817857499 809864143 227258539 254265831 478481927 982783409 322530221 950850229 814751764 755513898 979007256 331704040 792114076 496742074 550621800 909463212 148908641 111574289 587107997 418090957 599269705 903373827 541676470 319907439 277049432 521158578 936870187 768851676 282791411 630142389 820300600 482406255 221727457 760971950 528948249 861138710 577937195 689348318 880622675 841139968 200415552 631910302 475743421 948913731 266445779 825208354 250473109 993941571 505506859 985083419 969493174 975445008 843898281 756476673 660002247 554605845 303196962 302939846 275268526 146026228 251691249 939409137 635933720 934370300 118819409 212262356 765409745 340557686 158709084 459998352 223240759 657228148 499864836 473857650 899074704 459699945 261978668 781260702 416859837 343900742 573424907 520793162 226001635 108201950 275038665 628414404 410833816 188324748 284762337 115849769 331224050 645123753 549400199 260282906 496877371 903045186 974736097 633792337 915242496 873301126 868261869 442192491 673160420 442288695 376592437 950439492 192165515 159168318 887270943 646388864 802613246 473958763 938331437 444816172 166342722 357441442 124894582 467645493 515873905 342699485 922487957 170480574 948723810 585980587 802551515 957912195 836342946 232122581 508088173 598701342 563606274 671353777 140576177 405427460 275215423 865644599 673363505 227759118 167237543 301236039 606856577 357038264 312415036 184996127 792668093 196903985 969223361 511145396 846105943 864860057 819741783 757395261 280893606 716718719 221124825 683013773 482025611 721716917 574022836 436750572 832367365 463481241 513694583 277767399 229004218 740782657 247079084 373024997 711765903 280099178 552516667 513153527 656841825 690781243 459931952 171541723 162159943 554194769 657806960 893351751 654682207 504615544 739637221 722551761 250736694 577076362 976645602 886625327 109347041 254875269 149348834 527681911 296591606 828240382 554645484 323380258 368969877 197946773 661542329 875280095 436857974 102758203 254978777 857429100 751314933 130752589 683361195 601968917 678321045 531573933 580528976 266657394 994466169 415545420 396982236 889392578 277920438 339886107 984113425 208780175 788369982 496858879 551449610 333395942 565959968 218176091 487287427 787519145 636713724 388969705 869377361 628108267 930713986 480947701 918088340 809497669 280843669 726629803 212281036 406853712 489417846 773224786 410993115 573278410 837804799 887868963 581833770 453068959 197936551 201495325 636554510 278305993 995374518 191963107 985359880 290120950 713174284 594237885 783886018 305494848 246218496 334251526 472376030 437869956 204367119 926689161 638424108 349536888 315054885 243898441 658382099 798229946 718979707 212278577 442682466 483717731 174350849 906600461 476361370 627968222 605960313 663390551 947602126 483148654 792200682 590186846 332146702 228278242 863515718 732222282 842284234 776599409 725330418 332545334 675584027 267581386 305873319 751918132 379325868 895523077 855011942 419073442 635399569 470490045 748943726 879464130 284648724 483945492 992428587 797299039 218533643 655793101 862200072 640642737 117234093 387688591 271677112 125800793 396567205 255193589 107122949 652840612 489364182 139404484 568493381 484060872 981295811 773373600 596429924 786452949 650190853 740036973 148137876 904281162 792106991 968764750 563793364 249139660 229058922 279077078 706993994 165889953 523595081 647121094 687505259 179988210 174400500 202537479 531695974 532599151 721074776 288360212 497849144 769415025 384034498 675551623 433826818 654708437 460316574 692733023 744067619 934798126 120946206 467395805 526697267 532196709 854757011 399163050 113500385 566593341 677529806 250329789 245207492 500223107 658266823 547221303 702941280 961661830 373683698 867728699 373346385 284861256 310968271 894812071 541579158 814492980 628856164 603978903 255149321 623540314 143202651 689025072 978812508 986702696 633542501 801727020 771943416 549358014 152664771 427797057 374762454 346779895 969515958 466864949 885285289 564949369 934305425 922603377 346631427 565903669 791805904 701557454 702054245 167236834 484452895 404605416 745862481 292925362 630390555 785913766 689455665 214143410 981108670 385101154 172482497 440314024 790813768 574876336 244812990 622190557 811047801 706846303 636453591 601172267 905889655 503585968 412602073 334854726 262500726 345063824 875348292 566727608 838284257 381493048 193994882 166106786 862909844 331164311 307781552 964289661 984459156 589629635 583573985 235047132 555956231 665559752 674821605 208052847 237325871 251972949 490783769 491277994 696767680 843036949 686751550 829608774 747160175 649849102 791493136 483501345 710279423 368895782 979077490 614252373 515085447 967029738 173970698 281730952 129498076 199510905 552039393 787105224 689196374 862864814 285588114 385126747 752172202 139446610 265378278 213777818 330483387 131534692 588798754 854501535 955782696 629088205 492829336 199051255 112239512 430392861 383750421 923972111 596314005 162230549 960100548 233153440 275751124 129823017 960867253 756417259 319773365 432906525 201728933 326769385 521823236 577098872 517353197 301044821 332731511 668128260 223765596 878557136 333721582 323738011 221244362 975567298 757265499 879994432 427141178 631125750 170803249 946245875 855725667 956801125 943919348 608684670 798334617 493349264 928068710 843966549 359104506 888194007 809006415 116338337 874158132 464194357 676836311 828965232 466513425 437418977 348125244 667428147 894736360 536384541 555416197 196643226 503846765 403200376 731504646 738581779 452496162 879400744 530466325 813409453 170038894 868078895 553529964 204575572 401322169 948365451 857142121 520434916 950634476 235018025 736129512 847105757 686920320 921119670 871874583 922134206 935334004 341804561 325600206 683271707 255311941 162590298 301464348 523065701 546787221 428896214 984929065 999347189 859989011 606413541 322154976 596077715 633392108 936672269 281709026 802454333 465363721 316535297 492007901 384917451 273949371 627998081 559655838 543673547 803320179 821077006 192143654 675759139 201796403 686813504 639667220 779073773 440698774 278765538 245915093 633036366 185324651 461546522 207364463 811260521 786270813 793899278 930298697 207713505 918546103 160247686 965953564 183085723 704550982 113505532 148487372 995960310 125795266 239548337 435882850 752443749 697356687 409320533 603593515 987708507 125314651 441167348 537871697 820623343 497521630 302030307 806812519 259847164 686277409 329758805 299124058 382675277 364998550 843500938 999158734 118656091 288450511 319098092 211391214 523418279 801385261 182660872 737688458 469019889 423879554 300541404 899248901 990734673 420105652 512589179 316747341 493788046 771077093 199537915 788793415 326340661 515499052 865881767 738957988 721227933 194946537 115394878 726313875 151933617 735619794 790828519 457161612 564607465 160859971 468417127 263356971 106969280 229674838 535040155 504928190 530560102 139606595 423095368 950951435 617874979 180527028 469928102 545245710 755033325 681259955 326059104 626368534 251336269 921387198 505140089 922096838 310336818 910952395 523316461 158338299 163982201 847526999 529808065 628709235 858447028 376278651 340109515 229291474 687865186 442760025 392481342 539060253 366166263 891430315 608010815 213790667 610379769 585957662 196657953 437478290 699456061 813641509 622949333 667720557 566384435 335092578 572490184 961844687 453674977 580524352 999476167 730615771 700643470 859126190 979867061 649550057 807680245 111800435 675022155 669170391 820631208 217267593 143084669 495850484 821937603 590310297 120639472 496727307 142284358 817060178 509437408 689384787 964768552 870275773 130208852 821427658 901271640 435697841 931214827 806213653 696694885 661823106 719591373 168565593 539855166 661019022 919622651 106507243 782438849 911823639 482868819 350353476 656805687 460363611 898729539 144157386 241710004 728857397 252300618 824912087 814676596 809403123 674308573 793185613 643261341 950002245 671733674 979364370 688468991 367175364 247675894 554603227 169025934 507613855 636328396 550573541 611454567 251764653 168716268 979637405 291842101 537192212 841887309 727921111 553396275 831475678 376427447 345493151 436350909 854331061 753034038 532538378 725139482 757126203 370918119 429979935 512084545 698452992 237259731 749406227 921650896 153260227 614315814 193354257 187558552 690254881 297069547 257690599 472341853 561133866 156802869 881509863 483018966 762161398 474311169 120856746 414062446 941282202 349703107 249805029 813194826 381745923 236409463 853336290 332861858 917306285 973136629 168875495 921563168 819474996 138093333 854582357 691957079 547355118 506837780 830352260 499538118 591681623 889096460 399745585 391734356 414979799 223238212 238523993 109682157 436358868 133960577 278388387 864997756 806484908 791165603 780141118 541408594 977760275 967810872 644070427 432486990 349776811 610525212 303401132 470046573 694115262 529389052 136409586 144609895 991971445 869600551 116963177 300819262 699401572 131090531 192108795 843329417 803437042 548461442 359281672 453658825 793340321 703845748 116735092 196938069 116224172 207588821 761283008 575291123 816422009 229987826 736252218 956730411 248181876 853638157 182412247 948409318 993245716 683732822 632290190 923662378 532202725 458526271 544276380 937074093 111925864 642277237 347778224 460012981 405880103 229245058 350030516 318278744 325747387 419435664 417922900 318535302 302675889 783685176 705237298 873895377 225450439 100171298 526686902 501004481 949527327 352604201 106591057 545168936 987209141 210665311 467201183 437954732 424766557 665554379 965067852 224324696 650688031 953708007 944427193 331781395 382007854 134891649 467489310 643292903 796240914 682839519 845951602 973928345 588161700 581508180 980578807 882065599 583069655 460569979 864065420 943512043 547858514 923254904 250389712 182024424 820837423 246188866 952048629 555463240 293740525 564303942 678775220 600649996 485257026 911153601 864916296 409674029 362299268 815856082 889723101 325802921 674952732 274530125 694557346 417450185 823171918 764444730 278914311 317108526 931339559 582420174 766298963 742329756 870860637 716628401 834569559 539930584 815786586 233509122 505203786 252579234 390756976 870205419 194171505 479946361 980080670 280527554 308155508 191351457 885217969 379624179 211607978 796774700 121425242 115197416 905657608 173461365 812896035 706333708 911766991 172715964 400530448 910592337 593115803 773354388 988054884 722573589 553526365 125281649 539696608 666045005 105912436 115070101 586039958 163654480 650771662 249000908 304627985 751982107 863365196 440475609 135340030 663756554 218460690 481924732 267806459 873542218 885293520 881963915 676202207 172818903 326264190 681575525 879016417 459186278 909515945 752522267 807978504 421877565 987365029 681990571 257373638 177509523 816934103 166401701 428151096 212913954 353211444 498466246 754143370 920894339 713904663 324992722 349159720 609811058 491918238 926282651 395307994 643676765 834141111 785599191 521014946 127713100 772175002 244528804 817491662 417515722 989013099 228488624 617402936 240546295 456766019 126650666 727867880 826284516 342257845 727235139 332748343 102749248 525604711 749681138 880368662 645841999 813910843 738891175 692752731 185189177 223102924 507405479 710887490 705623248 544049033 753130143 955622545 900455431 349373679 457881102 780312440 294129241 127865316 397436656 250972638 986107694 914103534 941686631 325010659 265819491 192004005 667011366 495834915 123204406 910244439 421323102 193269539 366021160 164585621 806735381 690090442 690807543 945666348 937054825 433323129 486790470 656467864 717215124 330305703 951764902 440374492 204952951 488772490 891772838 338977779 787592804 992816582 404547316 837093708 482974952 987618535 548034147 412975604 304158517 380517192 595859838 960741796 166743383 461112450 319686607 869877969 280986308 489812009 649616723 711724639 586055936 124152799 689997959 132998562 695235126 701349729 239895190 493096155 574150146 566309215 470061811 246030026 363997832 438876174 715508378 244726906 384961706 958636685 545147367 910543901 464610583 221013965 116964600 101568555 611903196 197918603 199176138 680673648 798486483 942762648 447977173 870645726 719723964 527727991 104077148 523160958 366503545 984362600 802212020 895237750 682989719 201560536 302169240 894001399 471557886 739127830 613795588 393194140 746627610 220971117 821780417 193948518 975080674 111692527 333993787 646010313 851621306 957305631 535225062 489159628 669671308 766110698 774577170 904274001 859853333 736179363 450923256 935291606 260242132 111253597 567568062 933780962 831847820 628772603 670870076 861150913 797553044 659184657 128159317 815879826 307135787 591687080 521108088 586915027 489005754 812280475 388431401 833998668 654936337 559853855 784187599 389314475 533474680 330125599 840475369 732881991 576429016 103858203 258966150 429126414 192080198 606436729 763492744 412005363 486199495 283545747 286071020 997460762 399141357 210175412 904247994 826698592 812015404 849732079 626070753 512113669 443765226 514016449 133038311 394632588 660628113 763685760 400285108 399989118 899245083 168038225 636248217 248017335 330588142 666658220 715881676 811934112 256614384 697312422 757560848 638083833 770223973 144460426 314182226 648206131 161283586 389290148 327337582 767775781 677219480 132035645 744799277 321558378 607582224 696014755 938580439 221617242 565104165 710061737 208555091 696304058 332673175 384152252 802431655 723137766 561647960 168423776 669326405 735682684 789143467 358273840 354167501 703316066 425360801 129156900 555734901 204043510 706771433 882217422 362267794 483691063 954105966 706975627 145837800 281038077 819266384 833678615 373866897 603211423 359008461 924227868 575896862 690844440 361276367 512174850 966088803 892999644 208035247 664724664 857517279 995550525 995834774 363451104 268093878 459832854 240069303 623518079 329009737 345160238 495239666 337815839 256345505 451405789 447375457 426663473 104410052 398614329 785891118 317458148 951636787 318246102 683709103 148568569 233621400 488364077 600238678 402748319 216733260 367701634 583046304 403620556 517277262 117753693 748409756 850499036 930521880 380699610 450170920 272367087 795326582 798673712 273904922 568173586 567735648 190561291 579702867 506268964 470592897 104746167 331875569 382973851 255892565 472207640 697377079 108153353 177590208 233231463 495125125 801185390 647480615 692391304 328727131 436746687 978659788 759259623 306146347 280275448 680075646 810833090 505040180 292349427 595000801 418835616 750588561 647340444 440823401 137498056 228603416 466589475 655539545 719569515 562159161 414272180 230426189 559229928 970632559 847442286 148125812 745106025 429868935 493913460 139934087 770548480 380742280 975640991 884162893 272729019 725313265 513071997 824644928 119317686 388526767 330056609 788933636 765010864 777406228 585774884 129123489 866068333 393441990 759871643 287963664 352803445 913938574 903795886 166993885 521761753 151797924 666739557 275893890 851734901 107469416 683832207 549150523 531479079 937425215 895895712 308966101 180617143 161767760 489625855 550279240 844563215 947539849 979591623 694917965 646580805 880774534 936109646 459850710 269819366 269905777 351162403 404292237 445040337 376127304 511825120 256235651 855575131 265298583 315084458 929616670 216043674 593657021 913971975 378765393 117166946 468040180 477183865 720855126 660695431 821100487 439448178 286464547 337282017 677292291 222839923 968010432 362938687 267609128 952051813 245561263 163401406 234766771 493354675 882264317 839734073 884430802 150131412 196806577 755160265 402151599 174000192 279430862 332878470 756503815 411031109 190440718 839630206 757395260 441913572 688392474 944966917 295735978 246011423 666547066 120018642 192524340 892778174 367060895 989103427 140161196 143749244 558062464 714773247 590983886 356210462 105848277 724140798 935423918 757243135 235405211 931077489 666315906 484510736 351535133 528278118 476339491 198941495 523935056 348091155 122689758 669265248 672662427 120258557 655411243 116296041 865191382 897553020 839912227 641663292 280450989 380414048 973920642 448380084 349670596 500445513 144678232 571936515 774125929 378421758 512648017 571307827 868593981 321226332 452460503 118446548 691575469 999132940 310974269 562187331 765840853 964200937 979737992 357529583 431988326 829891161 890412021 829677109 681213278 895473569 258777545 994625173 969738225 781827104 898803009 703272348 158940892 796221970 206420753 110327538 290924409 289419672 944403416 451477769 278144242 490821147 206686559 296221748 749560955 559752145 249806217 885359930 921605545 119739409 250576978 485018509 547703953 315359109 196669262 786613956 531223371 268302190 724140998 914025594 141514652 482211964 101013652 906078608 801379737 359230366 600781438 261571668 690799280 412204670 966000669 468148623 980905608 322703611 713535294 454210173 647456127 649048177 174737682 301727767 143935178 937583089 889777964 251069773 562243045 421830438 670569663 482251450 324395377 205493438 243109630 160738658 915488276 302691673 746497183 841775480 547910762 959329687 621496849 322661647 559688398 336178597 893377371 686461016 706413509 595186667 785426444 941189167 310216854 868141753 606971709 117244269 118433731 686082538 257129922 278843600 185184108 749165747 908701377 490787471 345972270 701952858 762629551 683745313 873456362 894375895 880900275 461766591 692801186 760736723 493724111 712297920 259692450 214047024 549294757 984357753 569267041 277471795 122501745 633864026 662099045 379758985 950452658 231676124 765219184 164658752 380804057 673004782 653372128 895024918 462053474 344178971 765783602 813260190 329441650 496162514 444862660 345308066 568468639 563686318 192969311 669734012 476503670 376327575 652860174 900759155 206408847 550457294 849391556 707044064 902889125 485540234 794126046 135044771 311121398 823452460 313294855 733044440 794359453 116660906 680777851 291514133 631078353 194754592 118997155 685477141 627304342 995383395 563835286 160345707 387802846 463092368 114954300 440733721 577718045 229013536 229799045 763174721 960662788 116106027 886548191 491324666 521589624 838616046 223965827 665549523 914466154 181584814 266210281 912704760 508071633 874034053 443433652 885522414 391174843 763275581 279434731 535983022 374555920 496566575 461400665 625091390 676514245 770515000 460704937 735575526 894161239 799184077 328876683 331347504 467047094 585349354 774968351 142049779 666746528 434849788 251332118 344168451 748738676 604511373 194185708 651756460 282314868 279289822 863041873 608696228 706778384 326407179 737569282 409271792 458582790 975562187 245783595 667221598 236696800 543844497 129620096 943164097 686962052 961785986 700087924 121012169 557183306 538367099 475616391 452862635 732642515 972043758 201660398 196532894 322040524 358006198 445516233 847345180 457104533 379443274 384500290 954644686 609172068 729855348 761020765 773612054 254338383 524532866 205036017 489296229 909851318 135112075 273807529 277548744 710762345 242148395 367217557 370119050 874258503 157138127 148053916 262785554 776564183 379431952 465962013 972364424 516430387 563509169 349587443 209362020 304522860 615500225 310286443 223024372 956696920 401450598 957105755 805937281 476287195 412732423 312949509 480962927 903214361 893276501 294250223 964610141 152386875 744880929 368123243 996200552 796090558 299405733 953462760 688068750 537934975 428997543 420439688 459620687 428709677 882822767 100738331 979367538 370604902 287073406 409005076 294743689 889677590 829781985 418961400 314495084 907715354 656022407 168492402 207575272 750786900 678431065 456906582 498254278 570059539 550350293 257985640 343420242 134761639 599206141 682579646 531782473 369289929 721751743 958277079 841477623 942382490 167660240 520566372 469494166 573983881 179965836 568800229 156266251 715069946 743531871 317565052 289234716 862013843 500159288 878083271 541702223 400504627 415743011 248543060 165880955 888258726 469944535 765038856 347250156 106978691 729189089 922664488 667993741 319353914 296296757 892532142 723295237 672648189 590462504 613872376 658861692 449678516 222300952 693459584 176017791 507506866 122307034 721492127 437276262 780967092 636431128 812880682 537473902 650829296 340305657 524277781 957282512 854409376 599533448 381100124 110989906 782554119 390632023 901358893 426544348 546917406 229476554 161183749 645408502 232225588 132728067 693835244 930578320 507404634 416035625 334869997 474809655 280749064 925197449 425367244 164220637 655325635 690426363 759236415 124484395 897208476 970482423 631592899 932751666 686066272 132470298 465349156 635941256 911328625 475034446 724561280 777255024 137663783 210813914 526948574 103857871 868935139 681704038 955709976 933653419 542788568 430597444 171745525 865814188 393414194 736110112 418469283 913171588 437089762 567041004 232592199 466590524 769869448 569758436 983867485 580450604 322124492 257243557 662299555 692545130 829810838 406836878 860995947 377096801 965717170 307106515 162169439 965934697 949375762 278005491 988805659 318796031 966308237 442184955 441257230 205960468 687853736 374475193 783712504 261171236 714338911 683438727 880637696 559744281 236885938 359619997 268089205 761212007 370451596 522806558 270798093 341216991 509810373 396851150 442858371 754744574 644972453 449307086 504817721 561818549 256971595 544503579 901435775 471710755 146980991 247607840 448406350 156866244 871444792 304525170 864350240 368260082 513001001 468037465 816611842 969835042 830282586 482231911 839720605 394624493 805218184 692414746 646825943 575565800 239088188 589662676 867483258 474049147 262348232 378468555 876332470 427663868 353140308 248693618 950649344 544589778 354124628 933334520 533708796 960670984 961702237 737514950 960201503 896421059 220152188 656140195 393367646 659992022 706462313 589256474 782361886 229822914 821840977 619469652 923273937 673076242 516908043 464732804 285546741 337241731 685679200 489608014 992677835 272799976 361444281 473746235 122236253 261490702 548340461 388229261 478638673 588147871 831515830 101465571 160228782 505136465 877300170 691299210 494034175 692748638 254557646 183197413 371972044 828819276 828554439 518732458 254629478 263563283 859501000 983773657 248854531 326651143 521029555 688543014 553465833 190620619 246135237 666226217 743835750 844823302 194181149 192004382 173384841 968416762 629825058 772001188 826044211 323835096 289312041 957001594 839830418 437563527 757961158 600836762 694269134 383413145 662195255 465053320 609964247 839520679 402927782 501943332 205954509 479990237 194219289 710143092 663904914 691380748 311852440 815684545 788525916 687399741 471713502 115137428 293578083 183553111 661735802 279000612 820557717 117180859 794812256 643530769 158972414 340887294 853075927 357233829 714809835 395867543 957265431 643727866 113414128 315236338 805888250 659035226 570781949 960789456 439536413 437559416 297933460 872276002 738352847 977463616 303856018 760270400 773639284 989847566 132746641 106886444 839463494 874564618 237226458 261072710 381345748 530804781 608105347 336338560 828829457 571047756 648340822 503507083 184225291 214624303 352237602 534108975 488638443 679782089 808655576 372043578 527006507 754602219 279080960 764611386 429433329 293099324 771621508 115419239 137814576 516248024 188804031 985543024 919810432 749804962 961276922 315621006 938300082 517631200 500500111 721704778 431167416 598121670 553592983 968356219 366228641 258709761 140557865 319554790 766345714 375936487 256452439 783629080 833629142 112642495 255246316 257860145 613158093 789442646 587295503 625796728 902906361 572104259 504569149 641137665 346523417 160926001 558243782 720928880 982959714 426677092 500321005 195583871 694764650 866044940 571710303 498982861 709251706 251516584 339864317 497494308 457460115 605487469 615538044 111824986 100915737 320219248 191148957 339322552 986950756 299411114 655858489 951539054 495922274 596477882 550423931 164382680 981635297 192133816 383662361 696479314 915329503 713521027 672953995 258346036 680370200 283300008 709776110 846748730 407238350 551831705 443234922 511581201 699593720 856090091 468111062 771167547 952622924 197498091 734244290 410873882 328236579 230564754 256857902 136231210 563053048 540572209 918336519 602161468 720281367 623603513 225065932 932188583 140735659 402268195 238187005 222409279 843847627 246382919 924186930 467986699 660961040 850825117 390078749 103426611 521837327 691561639 924390202 631085734 896481708 313550549 963360338 142618262 399200819 190064541 141440385 144409852 633241277 330419636 915687415 363028593 991018943 985426000 372142728 714580895 118413985 120214849 882133242 179928482 195929045 945020506 424381633 140731382 925428586 412268893 839844024 591396455 474634841 654239432 419177482 615427977 392329984 336605681 265027999 490362880 139677807 702095522 788072195 639274932 363296263 293389370 736883613 401152028 873775115 819816345 492482316 163585093 921717462 829156949 764291389 340135844 507310141 523170814 850356855 701760370 383380665 438665144 690690315 950486339 276864374 224296977 175722617 869988808 146431310 858886281 159708669 270605224 769154782 449125960 938353218 117061210 445654092 453726080 724610817 521463838 292002252 121065495 344748789 341987162 104557141 131338242 861289196 629227045 197497387 115262270 531029699 743920207 343094707 485575259 438824688 570539140 299592520 167468214 868958692 254625201 862231093 625527105 859096724 238095022 314540538 374581731 277551527 392060796 585689582 781189311 728627642 546126608 599980621 143115069 116820500 387266277 566615010 763251765 385588481 237417706 323979214 166106706 947480761 218664908 131285026 213752806 980074920 517890452 863554605 660991436 557546275 264663118 125713018 466023171 954740499 915455047 462191561 458608193 674247553 245842868 365285049 972696569 584870473 685181396 141324315 585629179 194771939 792330954 219435473 400385362 683385963 324211668 375379699 188471923 291666233 544649911 890460809 142631373 201522243 781619384 626040310 871601849 149486777 617254900 223204466 160000970 291268626 921895866 158516288 976930103 446596229 755991205 460054526 465185393 426952436 899184020 652906528 915941119 861478028 139633298 644604665 437028126 811953523 781758131 781109968 623228951 802496534 700931406 895132055 168331578 957362639 639024149 792269493 782201727 919417841 678921588 611285419 578283288 530573702 819558789 694952013 909985719 484872192 407717264 761448296 987509080 508705904 969027279 389616421 688774754 250525304 856015371 164946699 583328185 421992016 873868990 275905030 844696167 697483506 951484140 683670299 967924888 254403797 318173563 151501827 444340025 927308303 800757510 748489434 165759386 182776100 141781728 736908660 259901024 802983201 302117475 171091760 929861103 577276532 287293592 202771449 756224435 778465794 716178297 988707918 398180742 904326396 725265759 390070574 985108704 330474407 508930726 164377074 929883721 684111939 723847190 745872763 302128018 876464140 250279071 709403871 911919857 888260288 882081501 891646719 733634569 650600516 650310508 232982828 197949033 571228452 661027993 786906428 416192739 335958000 398631696 240042580 885083313 162642996 823466587 499647911 157338886 456249885 713693017 462137981 740869471 258884755 370616815 978862450 192767811 958212707 350459490 617573428 708114359 128480368 901562615 678308413 368914037 830546431 987076674 278229926 158081146 884021781 900713083 967525040 950188953 183267285 174513558 602470882 555292070 969801181 775082408 817486496 870125945 392564435 221405048 274092006 573920083 789464656 590611990 380301544 323971040 698640705 909676236 736715005 364628034 346356707 471679981 334577399 205314818 969837249 839482254 337844783 873864525 958565007 356414252 107178338 745877036 878537191 729036945 316790706 215567887 259598393 227009067 418173269 934872600 503672653 963036652 220869413 917123759 704489581 613043574 118769776 985378523 942813853 957991239 184216644 739976567 186174662 587882966 137862752 435432189 294808296 776573585 410365796 457050607 583266437 788580025 663746240 530567627 650404456 238997262 131469705 766534216 736961706 506899115 854340778 195246671 956610753 762153249 485683030 478484058 690022253 663483248 812245535 718945401 333711962 114328146 644062625 358054646 829428737 118236533 780559857 729041479 357588759 136437665 248661547 665551017 245122350 172688979 712439876 249574700 157768646 703979611 180830489 894729603 464231268 257173865 975738085 578168977 500416344 341581019 521751661 894812164 169466061 787201540 493685530 879207984 761147588 913889676 912152665 914922515 500694906 420895454 550900655 361384900 532560084 205842586 756647354 821332342 276921262 829439018 193568775 892396665 609602912 468434199 790497728 833358919 822227324 647477638 256806866 155889378 735229885 316606231 694046404 209050761 638089044 742588905 536745074 718040779 894204164 734524810 496407083 759101453 101097084 158599547 987734312 324988110 493606795 267778375 923760845 925808279 824703968 405333813 926855483 178760759 255368755 545473302 757861530 881887111 825150522 763046037 577768844 652506034 446946310 721421835 194124450 292363069 985202285 110975014 777543262 638688066 264657381 502912254 688828943 231732553 868436185 205733074 986136737 867186731 687312710 326840695 479039159 749117551 890661330 585019437 263032893 116624421 894411972 364559109 272650103 434593322 953309414 981482340 103731526 783909754 865802177 874408732 919105217 673030984 297285087 290022402 634624309 289860115 257150811 663943812 502839020 608090434 949438355 326765296 292103516 154270844 759014320 957974246 908118717 329215370 654474221 543253944 336142349 724651197 951906036 109672576 625732656 790448628 816590614 840169219 620830661 265029487 185202935 435604352 389159166 138341226 510010229 967867902 212870094 579431034 167803130 870984000 263889387 257146617 987802097 897205433 707433207 708285285 252407731 832205863 513170846 415408086 423998535 309095609 645776112 667703596 190725216 489410305 714145039 959637962 629726153 825488230 363008041 408788782 829172934 842513900 532719209 880959293 890412571 116166893 681575809 473540259 497515095 678937061 801531444 661749850 378593859 264666903 206452456 160282992 491787571 599890652 375644823 231766792 630992701 984222950 289970867 311139267 595075698 377531069 912285997 457514002 896720202 232821138 159421931 356137119 592139241 316802951 269089967 452766701 217630659 604945300 113663510 991738958 472970131 409270977 732619104 340959663 120617305 914390429 428555692 226283900 461074198 488903854 787487155 716454990 632201827 597783774 657166210 899696880 881542966 922211306 171183875 948348912 213657652 273245219 801835949 294034148 252501766 303240053 646740771 292960847 531326285 327741450 521118432 241769374 443771446 881866255 960310889 877637097 251880629 124073006 366213887 204719610 681468789 470133832 892174383 665737595 842691868 777043137 229628126 672256857 141735029 789623498 380730519 325293154 932551114 587791320 965762874 449426334 987979767 893011973 349598574 705199060 533382640 604114462 232562839 556874264 370968181 527711999 888771428 841881319 122446057 781718954 235804023 721747132 979966248 155225043 705894386 669378962 111321335 220085042 352522135 698087900 385804249 166679049 921275914 473531849 907587140 706467085 606148423 358384007 501625067 693688267 326755432 233370514 818471226 535808078 790332031 806992084 522191675 858361345 282538616 820621198 747372974 137015559 980366581 365923362 135988305 364349217 420972542 222177444 287824520 647055790 568735573 312564293 790948993 682474996 763091896 790577310 208574075 234973800 240432099 977553818 534790884 570766017 314308428 705368064 509875919 323531461 798955007 481432860 827230840 444124800 575466173 395685493 925687527 312572029 679970438 574229400 837552829 853141005 847156430 831822188 147884062 718608947 365541713 354138654 180990154 269949475 359054195 735807169 100139057 659849720 490073718 542404640 799003481 385858752 145285727 945336301 429595308 230156583 625361821 619378495 250759404 846295868 747943446 779153362 477401904 109928703 762579559 616345872 126704357 189708851 968599920 157869433 494340064 729788054 889541126 806294504 874047077 311765748 723526415 256238524 625329010 809297134 613215113 208948346 144739680 597907447 721841018 978661611 324827573 848651830 412484691 455428313 178833774 434502994 986137619 881808026 869894332 734791058 109412613 958168726 902180344 605531632 493633896 285196068 464410017 466078236 771293594 589574044 469147635 975978407 148725713 431759586 432102867 607073389 923221824 477438350 895576709 668795522 308601535 678722966 450515930 631153500 357710496 948519976 315680750 639514915 327115908 624803637 515769742 865432279 526651059 582937541 495110013 800110238 831154963 594374742 687083438 779813102 368177546 368606535 950089679 892939367 419661475 217204504 100325596 861236018 902516013 965533818 494937518 760352850 809069495 447067838 229959398 194129221 849788696 508824090 892703907 466662960 293650463 535660171 176731256 470893702 114367244 886150131 914319950 872836446 914406887 988907824 489238730 974942708 902163870 884469809 376258101 646395932 743221437 429847538 722140316 127372942 761729222 182774194 432453403 915910278 978275223 186529089 846597941 310219636 108502058 590709931 916424127 768051007 498629997 820394852 977364708 281388241 687833348 457532246 604557146 950053536 628145283 107964527 125873423 621423933 881019977 337281331 852083044 711615018 353493830 797236829 164263328 177566172 614376688 468819228 216321758 639450997 109792385 917078741 408929708 242495002 654525354 432360495 489452751 602896174 387651908 345521992 274884224 945659432 612323580 438345535 734433948 599172005 362265913 166712149 279985768 720583843 363525362 598456309 307342654 784087862 681940898 440481582 151011278 598124734 232179950 722978514 470952342 986881076 463040360 446190343 989591407 308755655 109183808 787519990 436023092 308913053 648816030 431140973 713627315 505968668 101637267 239035104 385296242 706882997 603712978 109386912 688974825 252083999 170682304 820363667 129014647 456059178 880474199 491440696 389842691 454618723 835188692 350238744 279855018 307197353 125862154 417643518 584417106 573149254 747212819 107748239 104312645 154545212 579377225 553515812 963778476 646214565 362517581 152346157 621692595 872317458 113369597 191887735 206915416 991988598 114455282 895879374 275328128 637023191 295180925 931818633 181073196 461793669 619661606 388038741 359325032 368260703 165510415 209050725 460857793 305089131 187276717 938490324 559023828 671612280 642036065 105966045 630497839 268821550 583458595 535670545 656281455 224418165 323725045 781344009 886390067 506647170 189577074 142529476 187412255 853936431 635519312 927829857 462821677 249330822 579110732 188351389 128772486 193657449 446235748 834918525 556198786 792903736 330733428 728495379 884531927 693546387 493607959 208757188 891541714 474258029 353611081 922683500 964015277 259290207 609629455 175939173 292670438 318811620 210873685 674763875 487146869 992293487 115847854 554922814 153299420 798012455 304740583 397163436 698025845 797434981 703956374 636763960 216640099 398548001 602552377 790585216 566951520 988066687 882024389 744101845 800532796 657329591 705846293 830028003 468381119 506797017 975446747 998620066 251844832 657327612 174802146 236569702 486433478 181169630 650233151 695214557 498034466 109411787 227349543 250552491 372917804 472115978 563020713 466870708 643185924 346017179 711412537 356439552 344202821 972153614 728083638 233476233 668772028 773500399 729426490 351952037 642864323 512102171 542908308 209232762 764650224 872098793 254136082 115209332 162537362 614515128 667989851 358007739 292057352 812588275 634867984 842898845 651074823 584275427 920216234 476027773 756337424 144659405 692898534 796654080 949673169 733832259 575955098 962483817 534382909 481306499 446019496 865413562 741280932 692549411 396380231 517537036 949118164 439586870 187044735 906030865 953086162 835848460 874362604 679503438 341819318 395372596 318942961 692694157 299684421 231532870 345608185 664711711 771452238 166797877 558430210 708099625 754218798 101879680 491230676 261347804 156566457 356349279 158047076 249155075 203547847 624264574 755968275 186479337 514494542 114207357 529139187 168845480 407351502 976649615 975405194 154586116 412192205 239401458 836568155 789896215 156245362 655605225 367374165 663137582 864163509 102342738 729873209 491340865 802415939 378023099 120291961 307643100 325832917 169386622 580508179 126792067 691873679 336265434 825539610 490573689 492295555 895846170 343277607 520179668 948673649 687073921 199503882 716755019 201206585 509516898 852084748 390354472 246668683 148523057 868336386 468822948 888001908 216731315 852413851 307350343 342496322 405821486 446099116 339739572 395387040 554583102 276507380 485860152 633659221 617167033 165002060 626862406 831882817 825069845 512929204 550216630 568382482 183684521 787753816 801307941 195537688 252746399 539898763 854678787 620153768 463305720 932014462 273557228 747601887 661348688 903279943 580916454 935954836 817335140 776750715 704900433 522104425 334896363 265493978 508936737 685606366 899253532 397337948 894253546 922656473 799067876 214126828 578195531 117315338 890303683 741848469 276048600 789811682 121451260 977634755 606610271 943605733 104353264 119475741 353670458 422082643 334499788 142122809 807379773 373866796 190639804 179839753 260282416 936177622 891430378 651003205 687206561 847624885 224472983 230384693 830094063 184148714 826950656 446207235 479767727 167164054 779465380 214805455 868038894 235955813 819180479 444169831 160622057 945097019 135367057 116867992 724920713 639080103 542229114 223667743 917636104 672500555 181425559 684587087 135029211 238699452 651314683 712971475 599676885 462142865 193629627 409235094 847244741 435135282 675161831 463152629 619610147 559353449 756327413 546512362 130737781 883738602 100180097 422126539 870252163 382672344 507348346 775838210 717637305 270586651 298550923 706210346 225960201 650198822 292200370 851121627 594418662 705911333 674057116 433199403 735283920 584199020 565329427 799335652 872931541 268281458 606852397 368653066 471747965 586169801 747796056 835424787 131594949 230945700 718378443 647059692 737474773 878847945 980890764 671956447 746733764 474409184 650491601 909633417 769817845 443471499 458423042 130351256 251978519 951009248 659204485 828377614 560840040 163376804 790800470 557815128 663411504 951728013 938184193 456310857 818042091 933027239 904667656 814822737 554867536 810838478 532654415 175446527 236972638 363149911 693238000 209833603 347315601 901276815 307413041 984744696 674367079 345472081 863926378 557680343 343349648 480720010 879990539 782860660 985402733 707661451 715593024 182080141 636965665 634382338 363708934 505528700 558895312 879377644 807375922 490382776 654711072 733744376 873298533 561037934 810437659 179825872 441140374 251698406 928392604 918069448 998628953 634063933 424467384 920610581 745601568 424847426 182493607 729665505 180105488 604578186 777822669 698324867 181826004 267624987 637788977 958395540 521257229 877522765 194640810 786343481 182882257 762177687 382810353 528395379 977926367 299541795 484231180 231907862 617267354 237263920 523612159 954460920 848471508 171544112 163207329 594182739 426297158 467085492 212769996 894430427 389967665 978388575 208604127 639410771 203897759 948840011 989939787 562075891 502147427 160811685 705226325 973567232 515904652 289789850 741819775 147940009 959042653 261958026 644279981 380437968 187582525 877801804 770207150 569163765 649831498 563040462 130264167 367709192 571033087 899703277 509264134 788783590 872240737 909547000 217951710 971893355 581623676 720766742 533311697 193191640 483123862 341240375 952559228 736691064 190145824 578633053 392137141 158477539 550845870 633126150 710398413 346268685 536341637 548467588 860455515 646594668 486797557 423261486 852267428 934553948 783468135 662983011 908907849 131725056 363018991 213113771 421853420 995244365 746853783 669491450 117118476 724228084 704468094 572704614 115999379 463786336 116997932 502426512 816889315 649376459 762043627 855053685 238249287 794163003 289587666 991714121 366748242 937506786 607093251 241965577 709076574 407706647 207857230 728870250 955446512 660821761 444032637 312477405 896428053 362940822 647517173 625997888 130007494 848314050 260750260 873540976 470266890 659722706 427546688 758494706 981832255 967928790 915723168 497283993 846370790 957856942 434536431 182075619 517109412 391709898 732372685 426932663 286537954 430717739 872015836 844014887 788472431 963592791 771766812 780669443 399178471 193240462 106305871 772599862 364174095 185139786 236400460 720037271 933754910 139811776 637330760 881378542 560102429 826537205 696308328 936279363 217034300 953252828 696574722 283837838 274520920 801080409 461580086 117817205 308636563 765523849 726130232 217433210 115933109 242097311 894334515 764123129 942824684 951492679 156248902 284350877 246578104 666369140 882841878 631277154 702246079 529362060 492225781 492276751 949754846 406823693 335173314 781597530 503866706 395694606 983460053 366221275 464770453 451586601 738606056 567901616 284494046 805383793 960109471 624767152 767863622 621811333 710387611 908064379 640994424 529093694 478062765 984700728 165451559 262236660 847450067 333934220 969684093 659179356 242443443 563433035 505548020 283017866 804894886 122700833 289270572 942631133 908062066 890898187 426683029 726763211 241751580 378806326 972618076 418512645 778450345 216526065 913884478 402220576 627077151 224838598 539040049 429727156 771403357 927238867 791898689 245903727 627101922 792859876 702600708 714068394 949356396 986605229 579367356 456710769 457570903 889635464 319210855 181421465 826327014 982607645 765958244 422606355 535083602 276861095 822518248 678770902 996255944 508350918 378152225 374659587 320543772 336400630 329083973 907608734 737161421 499399894 129566333 636356339 559528316 816588003 615144043 556573243 938540776 528490098 157769058 532194294 538100280 728556970 933093841 584818093 484456476 690683294 941079662 153326299 212155757 576531431 479666019 581479970 903685812 911387755 289808087 229888416 572544624 945296602 508753623 250972201 213834915 665048328 433965736 272898715 190758644 370823851 260981393 539002808 217392763 236422316 707885117 789198467 923604602 161960616 742368336 557684834 366211027 200755797 522911005 552247330 695412851 264477629 814667501 936881533 339465979 267120035 159568249 326286254 342910538 259777544 344697228 619587806 477300268 525167900 145088614 846361652 645993221 597566924 112534507 982702581 467806037 601586478 386250859 209383674 850703133 492923241 481738009 275004252 469082642 428854527 191496686 151670740 808627934 798659051 656939748 286679265 247551899 948648913 573565519 277269845 548113519 875572903 289056259 101083950 758533808 965129635 515269839 584110434 167577806 997954736 958740849 134171963 398989857 867371112 916907045 930848473 500677705 286667009 290417595 648000157 232293257 272268619 320095308 386052895 182065727 403661137 470380494 488258506 765010372 747476671 826546592 422241638 738729183 453332087 209232150 278733874 703847585 917659343 225879654 104837341 576913656 404090461 950162969 458707908 497883999 329433667 266478353 469239706 320889294 450363956 187028886 422609582 905556787 798965350 694012393 628053739 887412551 966668337 561055170 413752168 307775664 305808987 455249150 101941929 142326392 983021662 521457720 658684154 195365321 270947090 985339507 597012330 179957600 184395212 344044997 129894469 366152479 582038004 682740041 869882636 806112758 787158517 673365453 900238853 237919076 213199921 452470846 695644504 462621679 557228428 584686905 891997887 332918999 561452677 746363526 361217286 753749639 667125843 689541915 477653649 299990254 289074833 516022279 290774507 446508409 485965674 892061377 495283759 441505305 189026197 986795407 975809449 493964141 395376671 100326286 559919205 821006974 620873360 146502806 762543781 215444469 276307052 191151900 411533571 771699906 728588316 498249314 163908127 478358067 831163790 516555536 513484489 539481937 972731172 895606274 483578557 956417441 724002522 384547617 839519397 110631717 147255001 383679763 683020738 623350063 344680158 225937249 358483124 104933191 137027986 503328625 614172416 292566518 542347604 933870793 251663412 757332981 403509375 743268936 389758711 698723713 152256542 550609554 263847320 160003811 507180199 748281919 590054022 498279599 710649327 812359262 930335518 679369135 623818592 214248801 528994251 317928246 103094187 780558481 108528655 175671268 840790498 285074432 547575270 322574730 565516736 975244912 443190917 487886091 893443743 743907482 233480354 626356553 195633577 717151899 862928072 854904783 781988363 412095021 808362287 999720137 299852830 898659539 476575459 419762287 300080429 482083241 732122006 260004432 798889254 716741790 194519593 905463155 140128592 847292697 509622966 342077292 792676855 420385461 426649302 189724985 952561175 629101337 402387655 321484338 934614232 573270992 150794016 650091149 536516135 921191126 107186180 667173011 146747498 733237092 259818877 683248345 903137062 572803263 664672023 168610800 506898289 212421542 803077731 970904746 611346528 273619307 667840461 230184717 637063482 791527803 856050723 488897525 578597702 792735710 966614528 648707299 398803688 433003610 325857884 297060813 135553054 932071370 435202639 839851320 420418187 620217497 466510654 689978576 430445384 353431930 442624585 845484820 507643958 788574949 549874692 369227566 206104263 320021729 629581028 424913796 984475982 295986022 419133186 636272852 481437026 822939695 163783980 274269451 949883092 196025978 881570495 415214404 159000708 606285733 585186959 688815105 414060673 436441461 815281536 965587626 451018129 711114229 833136700 247289237 552798743 239200508 607646002 395296908 588158502 131980283 743499971 590242583 343911479 372926494 422082006 799405853 358401533 579250411 225163673 889139366 623148809 554787021 835300713 719714180 789851382 414934042 854161941 275525600 556918596 416683491 733268359 875559646 738636645 931147085 621869842 292908653 223863344 998579159 953662638 204013624 329967013 179397110 354783289 570497822 920804819 174142380 198985076 645036971 927532665 117701077 174854097 622205331 703751435 282810863 427044612 988331958 684942764 790337245 418869616 632783055 545023719 696205740 621418160 960795014 843953202 727212384 637553388 142603574 131752663 125509441 300776958 628022821 160221328 823477802 158949337 667447917 328880712 221718338 985663176 200411024 960342072 524547509 806442770 136191720 823290073 277984262 435862322 925263202 955149375 334091220 601302499 593012667 104285677 251785355 804442302 367669988 169167997 636406478 172393964 679694552 730529223 631033220 394916568 667656882 687615460 903491975 352771008 771106207 370804092 680640964 285310760 569803414 745637641 746361466 613114899 980811060 616225281 752339002 676309005 468685521 693874749 565185244 613530165 943213136 295242974 213623186 220181066 942992356 711836568 975085633 805436331 770787960 553797504 712271700 382561767 811299189 444548438 603305501 979214535 512763456 758895119 344381557 955944503 528036046 886596795 388178790 201914222 947171535 144014584 842011728 210188392 482113987 964653253 552493110 574006484 958724203 165361078 221918151 927672083 381437405 775601480 777288559 600563689 529607492 990830722 313900205 420682517 845530036 851504110 563753520 729137655 789179039 523697589 975309462 168633687 616900145 255352820 466378615 521198648 362814741 798066977 116430941 649595857 514287561 518751127 419498577 743156510 944556971 657990402 144911716 756979491 132946679 241917805 300604172 212382763 153159462 784604847 832891014 977865457 818883371 178229481 378166360 986954647 388925346 625454255 837570060 906216724 895556487 974521159 130515141 613960206 768631724 481992751 547943105 348890525 451742649 707205617 714769968 852404154 821112553 340227090 524293782 464557596 724551508 869516833 623883561 374884929 393351524 126154864 394736858 707497386 208976521 606213152 605945113 284662426 317305212 119936389 571247176 495542275 837783944 813671418 246043705 429833161 343648077 180808939 662885324 978645157 535683341 872059911 597657843 597119714 194982411 874740676 400934892 309446138 330165118 685159315 794571974 276785631 274928496 926996355 354685582 136072345 251764211 814999780 375497943 408823310 968062761 645958117 671361175 558136879 482030315 912317884 307988490 502474440 566913917 856430530 497216391 500618769 230855646 884768368 727797376 833173117 979169734 646809145 163046639 288852508 891303103 769480952 272962353 374146507 200418687 240269312 997225824 733620583 937340011 548598149 221776651 368486680 485907467 541981956 260030510 778877590 654173819 342265651 641144407 196773274 177168548 881574897 146863239 540127134 829597802 406409488 594997332 422109885 680512419 701643868 338586275 660467120 778290004 948194529 970941806 175053981 828534284 522645423 588097650 754819894 190387793 576936867 810169541 384319095 196339327 451009471 670574594 720981751 553251773 562421397 958689786 401357188 850177956 313121327 608980090 527266334 451736486 385003738 805987930 915737602 903281809 617167930 705389005 704411730 146280812 270525007 968803394 882886540 706658898 584941899 129210095 433762411 835714876 775890663 310092667 831389858 688375810 771789036 868899367 423019156 903692105 275657908 749191486 179731281 157673244 440808801 761764925 645322274 409478523 403759746 322097047 435050944 193589485 159570539 110360161 320363835 242587651 932985604 157822760 208435057 613193273 766095020 840121818 563470881 714758156 385981560 715751361 245300603 475299507 517110054 697266437 777048837 391818012 281346670 169343485 896056952 398944858 938840670 274696655 415709229 937952239 905457033 911872187 477604006 334023644 397971049 260202902 220903802 843296669 576840644 309774697 782624414 371015065 899598332 423750283 885660173 284866320 810634660 411245442 267725382 333293270 186720948 253039296 284920672 183576749 871380992 239136045 336499197 253545747 917336950 212788907 235587702 236038687 263200723 796167071 382162929 613668340 390895847 563872564 508059534 681551288 350940753 550531736 364327357 377857769 815394250 720410692 197695293 221810917 219868912 358756811 116485569 448192804 840793568 801053650 570161232 285858428 904740789 149664995 214048772 407880321 962294193 328597715 815884578 317869573 726137670 539822721 209712123 957242579 775052603 286872841 591889208 807054450 865470726 791597247 963977255 226327733 105209188 152568600 385790546 738473172 653136717 114053812 595412086 531613276 870463494 448910316 506734157 137858698 688068186 476153540 168536100 879612717 568386845 197874115 695648790 834253873 390183732 597579786 666598048 650928252 307992675 216595491 206561373 421285928 652030198 329693296 453660147 443999104 954990815 776124329 493285263 660988950 899053711 523918513 291961539 782872103 769393088 639940950 542193983 131686995 427723780 510198857 394338782 191927810 853037342 662724651 614574208 653645771 868554045 110066081 427421116 771858632 332448052 320446665 996363757 192813262 449578622 448025432 718268734 989370367 313374532 496548723 381661530 585419054 178833763 991351415 756056470 175224078 722486407 493998222 715178544 126237731 277788302 704514680 176073360 565742392 378326322 192499569 963409994 132418475 275310230 779079456 779136035 386881403 972873658 125558507 902690174 760411464 424182203 989127609 981895104 845839183 156317837 514309131 174382613 679506630 294996794 974900088 451958218 233331177 275550892 926787640 913065520 405405191 482879194 665320489 206963642 536228688 529384869 642777691 928565419 771771678 717169193 655510759 433052568 276188723 916461801 402904750 550875059 464198301 910390739 759258322 260886084 418484655 587664408 199540935 183130615 545106392 544273781 943349577 853031020 517918293 966651642 934472204 118558028 204298334 136943919 567237249 755931277 650883976 865021079 824041824 611875082 998896507 495656642 599079693 232881194 192921648 876356886 167115718 830945110 212699328 848837192 473704308 694542449 229145234 738757521 862287669 643436215 126177304 605473182 314309131 671106361 525330102 394570537 110626547 966138620 776794874 753994595 966533663 698030346 803430425 262363241 456833488 251242743 199822510 119495614 827476010 161728586 179112465 958674804 937386607 405787208 401262725 544990848 106543109 196173406 355463504 402653706 770987033 921511721 723162913 543046759 670819636 508607713 923761074 756018950 711536487 315020959 827614509 662202332 467274213 977231466 653218095 961727463 923651323 259334815 747877843 693940063 969582750 838498467 144594222 698652735 514407130 251189507 798806261 889003743 487476429 410583381 998422861 587616060 333502658 248400912 180404292 512431811 924754491 410423409 623719141 970282391 567671555 514566182 913522576 954052135 126778195 106588064 685912352 458456588 662188769 793071382 175694850 584316187 890933798 452428312 603522790 959766156 933482574 339195208 253511703 277234002 433363214 574465681 695879350 226191788 976927848 801576495 333094319 503152436 709089220 595451658 120867822 221815325 496279780 391130143 893632760 992880341 205843905 722955918 119278632 143580839 478450720 503964504 376505857 944137796 750767276 154008606 984685204 465671653 839185257 377794241 858615218 497966376 443151650 208669343 377278416 449185758 423934028 391794707 615647180 216243697 286946126 132157052 247883577 647755505 663259369 129780446 641125052 265684550 375033396 551481580 699547710 301891998 629898349 654527634 489766986 190292447 798489402 390345272 540103663 548924788 879562975 186489825 225904669 321913602 588324855 562014785 669776350 117246557 360131393 473409128 798936624 278259707 946618428 234814572 978892988 867698843 729081088 915023606 314028695 168803993 917978270 556392265 456047654 488182416 406745484 662755479 498524298 964429549 796978818 236789486 906119852 769726146 957905106 468940912 660095547 298828083 386876310 557817369 167328924 549096773 689937117 526918812 156779782 716419599 936227339 889842069 590292470 267284105 757578341 190013546 561934867 894379031 927948419 894315803 150650693 422664166 389213667 969686240 214688211 594250922 617471061 446195680 764703712 194486044 299409836 427310516 325671532 607292689 816640905 839182962 365529196 413583621 996148772 762348028 817170488 348178292 604389986 188897247 660878981 205558765 249426447 979902448 251834648 295928119 811606708 447971539 972738911 536562907 517560550 354510940 368235584 317669100 695436830 281753905 827046281 161865818 116147029 817432357 748047991 836960537 878002393 295472720 625214543 784275320 613288355 968843625 595812320 130760043 464822840 933455301 668724412 977230297 152135280 373458276 765869355 935271878 170784367 934922152 338251955 710176394 852366809 828025442 825058072 308043202 115428467 148772036 877015817 598572340 923747761 385667695 118019183 614384811 523148290 615663215 833293734 593905078 597967356 832327170 273718020 356587637 257113024 995070281 182066603 683179046 578779821 955754810 934955728 752317031 256257985 478871191 966800092 150665441 771828428 716717802 407563017 235943872 155313417 608203020 581116748 869852282 377274006 483361422 657620735 912700282 638181932 424150403 395070318 932781949 696848674 516213785 433397577 378378623 458993816 639357339 998723606 339627927 472626356 450253732 785383459 706221539 475514166 844404164 994706982 631215501 700922149 717538001 519079042 159886436 102043195 930836102 107508482 337549160 520858942 539753578 199762705 899584807 681617060 134082317 887659303 780726298 845728034 512713858 763245192 260383203 178137930 314870956 970733751 375021397 741786883 717745598 768510734 615708522 184510007 912493060 490483036 762691849 216861806 488919377 546282328 486194470 707254314 473217437 766609499 810248196 501068120 364790635 361879282 971754992 513408277 664988432 898430645 828742839 798237815 894835519 401514588 918229191 431482250 967049199 913601092 804692419 282381080 712426990 106258692 425045524 208956488 342401830 896108226 595571355 901947427 961733872 265749566 299967200 231654112 691607079 761514973 796650049 118540614 232129866 379818584 683523093 356330989 271298203 485836323 362907213 861082641 933283121 127087759 972061254 632015836 592212388 468065798 403304125 689507072 751371457 787057913 647811769 328768047 548016640 585244282 705870067 628065002 857854684 516537387 402910876 750222534 944964488 753736974 933207165 614185798 822284353 560535790 125107159 769580003 372690883 991864563 429476664 587065358 836016615 978636128 502309728 923060186 297627460 721792698 384576927 701359955 441890327 301626851 145697349 362116160 599564120 204068609 735579412 950999811 759647300 726893569 113284196 900150771 741102624 473011023 648765480 808381399 224932465 474895550 379105989 965204486 542002985 897008468 686158057 237387527 449226177 482995937 450501927 951161679 418276826 300611684 823752492 495453835 853758160 998307260 509877127 823889649 186844345 149966729 100204513 943406558 792055997 630650959 270778909 423927020 366039563 254319939 224397872 184515244 884440559 988332918 696054761 261126840 232446748 297141887 531962165 755370290 326361603 350368431 734320385 786853097 528873830 614167252 846560540 244385167 331447992 646661186 802203284 721814523 475205821 523356823 486561039 435242791 700680386 478014824 850038838 672008188 530878820 263147922 612302599 999090132 309582841 352830037 863719922 147178522 400397170 370831661 161226196 280284505 633036580 131688937 808878733 483872980 261834172 841023126 251333422 967109814 131055784 956751718 237305447 386574775 644717980 848545198 483997162 236224732 824522740 665951833 255447631 232332044 191921267 701581910 107980352 914112764 130609384 322828354 728021255 123469671 904692403 700404794 669407610 914836355 624920937 378149192 819386591 466654407 758350479 595645182 243339358 357541987 317088132 491686654 894789553 713298660 875239352 967015070 629862469 564715380 133353967 640015053 962189022 609305283 359938818 126155271 260269842 557176300 182223065 451888604 823544999 169079961 345344638 566425093 172603910 746407868 214239980 512561483 503512835 225222205 768987407 226226533 931284577 370334037 307872735 624406402 975348700 977307587 846431461 278484917 283746116 351529402 591598085 320902784 262564216 977752985 141143417 608205897 397404744 310456281 613451830 439248172 861891981 634684959 333747324 525322700 431575945 481968587 301269300 204804826 809547764 418129262 635401357 108081170 599253196 709563125 410329595 613374672 498966952 253570217 682116435 612065577 173295126 514941343 796424426 596567543 972172593 602240406 389199560 961059072 918021515 997159278 625159711 317518730 309485963 560094159 317014152 560854544 542972803 528982374 584925927 132297970 561536550 467004328 915273396 276725438 458641221 557527196 512676709 724586306 575025258 511117961 562734002 424679249 352628191 711032079 778861920 711545076 400666403 362306094 541886816 585636836 436244112 244529538 963341067 243058073 560474249 994795407 995957828 805925182 924573338 252450750 855481367 129833131 989884511 803302809 991193368 910003709 489451280 874322799 176561912 714568873 466379350 323913550 656879163 271490352 940743578 280357508 399628786 147894866 933870995 707461526 388559871 545689763 808746492 932691009 798472658 414689736 869868394 856203491 793520877 264954064 212369507 548032483 262612893 965596018 543785791 258924933 693691452 746897452 998461889 678869500 524386465 410504807 483902979 487398228 775223418 989952645 730708904 932420897 879339995 737691841 928599989 947921492 346822811 365734253 495661689 470473905 957113331 338462392 807516531 635832682 726634316 368270315 824851332 589048942 616979446 530158170 869401199 931994303 617056346 680819392 219057957 316013261 871671135 920397401 435817087 348388086 437353461 544627639 134304318 120681091 245112940 434350345 457168852 557652633 311759689 628792823 888093209 307825211 145546898 280118535 547429614 395151959 235966181 511955808 640685633 503057001 214081610 201982676 821660152 515082709 363323383 522237059 663918455 256955454 619063084 757384254 157112604 614587696 486533803 905472777 188080924 808750763 859949179 692541918 981253527 665552721 568564006 746790185 493838249 661612948 372796309 582558646 588802961 414396907 386773887 226135511 757995718 176591873 278853702 946930818 691563040 158234170 514278236 691240713 930705350 425169358 910314397 212673455 617415393 719787468 819692484 593009254 640643309 281459302 943827159 525524210 896431423 594454385 171338786 605588758 906685285 818320644 754485091 835785685 486053064 855851010 733953779 412919205 232127848 609330987 821720845 861636102 175343813 794911551 754111638 282821918 612111921 676348927 911845862 138392802 963228974 364776091 240588633 376391623 301724156 165729255 591815980 184332521 780849077 758162824 559556204 695051018 433324182 745579208 251775366 935357160 636090075 639821934 246155676 306527769 503908944 412978388 935519001 231546681 977434537 872823499 134489023 575365318 880595141 766587815 807955304 551924797 518389085 469341124 212306707 277111390 548117716 791240073 664522980 795704118 783954460 811350679 810868401 386272116 473812265 937877589 527934078 311341717 525830418 436217724 651427825 339152962 999008118 777772225 240660900 263884562 895829163 650024209 387489233 499380528 101178497 101683000 753216986 274564547 381738259 146509040 815384695 113563557 265344016 156626355 223683306 475395663 337136527 269004773 265354329 512418203 505468237 870257673 229910348 360781945 984966555 450561068 980359208 811598017 384910731 612179204 380154718 368473893 246004645 850177678 139898166 307688467 689019987 585909209 842176988 697871290 325679023 686366088 295347700 855149365 334554571 540962210 396618228 327325769 582037589 175348753 854270095 300215779 292431443 847954588 423568313 479305981 107867157 768270260 494248683 707086821 607886575 884166470 943436604 401214476 521470577 426460359 577300310 773146941 308641337 665563591 614779346 268823229 300782545 899653184 716906514 631164977 815006644 926521850 916508024 612324281 220728297 147727134 956492905 111631417 516052724 239988195 414799926 951427293 423822683 125225940 472438613 715883903 415838030 410818886 997067213 495309201 620444813 652503267 859198110 890657246 613321387 440510335 506334869 974819994 745232976 556220347 834376546 913997414 678164689 766449467 302297815 961646716 625369084 724571384 881528138 826137092 932924029 164004925 412299007 287538394 274754236 192385792 856407854 244420306 760765517 629180423 683328640 389567378 691232923 241726497 400479815 579949893 826472666 211555502 918444547 414842412 245998449 463545775 502483374 996991262 804923346 321138063 321102137 226695782 220205415 678261993 104996732 298313747 283137590 952443208 915723286 388221352 949781291 117535434 631246942 498404719 841020262 145537712 773052629 343807805 108926130 291362928 641970714 709623406 948460838 464549894 542979094 655361788 229669114 868337295 395207407 120660784 255009898 915385016 282859507 376235140 427283914 552679739 759806316 627673532 462310592 469949235 831550050 784372862 995127655 948784375 395363530 192021404 178534141 449599588 414993489 490746256 581622165 445607219 373464687 985657643 272484012 703768834 117178003 574057941 543409571 562592672 670469329 977721034 888545090 625170049 800359304 327182637 394567720 193444074 723212865 348460470 210816580 757410715 516670048 658498559 621524796 952256431 878012257 560035027 805685225 548333113 887830580 972731943 941871920 810546330 381290605 856801658 834829832 115058473 315332498 512973962 490365049 660763748 744406618 533441525 368119006 241422900 919197356 284840253 450515473 797530658 592444816 478892965 121864814 646340774 328745864 542575576 826184078 301836624 921720616 747262017 159205130 201099679 725580238 187499224 601747494 138265077 675650360 648453466 384213216 701593256 223011835 416375821 563740070 961625439 572359675 336535781 794247463 450189195 415409471 626714081 724508938 158258470 208196244 700172823 957519235 507118691 213620295 205220964 404783901 240299241 570071479 990451708 487901636 455769232 960259081 861236102 656632465 184039174 537459024 535473964 789017267 193142326 259291920 245224843 977099861 149877182 318841865 513525742 201966283 452583634 694781877 406367616 142896212 762103085 385305996 684771192 948192306 999805325 128133501 689887976 275819623 915174836 333029983 495314598 720299432 628047678 878317914 321123482 304711563 584959186 981261245 398952048 250445492 192618649 478899668 428556055 802755492 490209042 284268922 366013076 161507618 640748879 139708769 881056212 444736048 620963335 332420720 992813910 854407249 544138692 774028323 628777418 243366677 982894473 168867615 281650005 473465789 396880544 772167890 887808279 868137266 652424591 904825920 144761803 156259646 903996353 938256090 402764801 317235475 536590882 795885543 319022982 864756752 720463772 532563234 322514442 516999662 687204063 705083021 643106283 872150317 656354343 772341699 646154377 819052809 207848379 411981953 300608565 457881129 166404076 472653430 197920360 858262739 358931792 390844364 934338355 752844558 263789147 577040938 106799566 881035637 565497080 672101439 929865447 974775603 212714654 666500107 346169946 639785074 289376109 559897224 292042629 386845807 262197122 110506749 234652931 296887466 828125254 678781729 407361111 806046128 456665582 666452490 107758764 571295488 639054207 642906758 235808993 754754657 927780790 576548054 903595957 669818316 174404051 423832753 733679896 181237554 445281603 130045125 287428061 457196770 128231289 113099127 306909247 829861143 357425190 695787642 320187931 715146301 467014016 204845760 194285023 279253641 475191057 307592922 993776452 589108668 174328919 299643413 435364426 750904703 891335018 570620538 993498994 741342305 412260437 128177292 597385553 561218934 479123903 386875811 911857900 543417111 263694684 398551916 654133138 244924991 996384474 886080980 638331777 594769044 255726930 833332204 132987965 912119661 961684919 268978636 922894285 315605285 403099628 757504454 791521249 158307620 116038280 263018197 196161652 976378058 245787537 782837545 472536993 190065697 135267296 841105511 188821960 959313596 611229024 648026141 486580042 335293161 522621204 841449314 480575261 982216236 571167965 657995910 651308715 687158136 550635279 111643438 252581527 563633947 102748275 316299895 730192512 592587372 743397574 267346410 711262399 302621453 115561927 418200852 227519644 393222552 558696608 524752016 967536309 367734287 524877330 793010110 351108265 761188692 337397601 915387098 947818990 992173576 687848593 800706548 166378546 408028285 255172280 140206834 786099121 605625464 139073427 534553258 942764678 205416111 849778064 129106879 153485322 833608150 628305159 140871287 588860028 156373416 699599220 917278330 728191667 766054599 574322192 720175732 920058030 626126363 218238134 964091676 979257917 724419385 338065177 998280433 645797701 827191022 608339977 109635026 163241004 200842320 994165686 652533133 206359154 523306280 391921194 727643020 460156069 188043526 118725324 472492760 756322280 271035272 248164508 930406262 290587532 667346830 497283267 416581916 267882814 476630972 604821531 288505215 595358449 137550936 906077300 386610746 634838337 691238199 574872732 171833853 344670577 358835223 551563413 394525187 373368369 398566494 630860332 462512862 195576832 201175818 637599768 106522283 798098289 762551261 189838048 933416140 692794498 731823883 952139244 445720149 723495775 441366103 266473715 314115679 815475005 434829937 946022614 926181653 568396981 899194188 116904407 794476054 255366782 546112838 215165789 938360665 328148818 192284950 537858809 282975661 686203515 293726906 282971508 464806235 680276114 588389318 990897032 365501631 790449184 247183068 486626028 786482629 827873313 178048148 466304958 234201317 588483514 193717544 297051739 546762564 422257954 230746143 117711539 752062862 146075228 219751484 496666736 348333542 494032947 229968623 249769006 935206204 462587362 927079932 268827350 280719727 979783269 629703744 996343827 600604887 861405821 787967894 154027181 237125895 846965552 226946962 690342516 280292452 961173949 777709120 948538349 154271328 273094715 392201966 756761709 652161665 737956826 137196227 608578191 623772464 180306187 508110826 443948421 924355349 683660980 536532236 382283575 274016967 907342532 243890566 541093826 629924517 445741755 923076256 748123057 376747491 816856809 877204492 984503380 784820571 904954189 220125972 660972995 966129311 138088481 526867937 959445988 728845281 484765139 655744676 822947675 368012586 720994478 740967546 896750098 564042522 505844364 412095410 366259107 708735024 471568046 787547926 554004790 654668792 231381256 465783043 343441705 188177865 247713716 317204077 809716181 545344849 816439652 402999351 822310346 198819461 656262966 143154028 982542127 798300141 623353464 232255221 143048184 875749284 276896330 227966399 759541760 210974533 837177772 713097295 661114193 828885586 978237484 432976750 935038287 353016595 713128793 329297228 397634077 702080713 354673294 841976473 192889006 901573130 658529050 307113115 445977658 887694394 690873185 436596348 780624522 563156711 523032239 397871560 888085022 691495684 128627068 262876326 980387892 735295131 709881067 662600262 191153716 738490416 736273832 438059534 572807764 771390736 257336276 182266071 616162240 190751695 849347968 913285175 804440325 524025759 861720256 968478706 773342113 848545176 652249048 768361598 126451586 905327490 362442227 866593796 929207831 599314053 118186337 562057943 341386592 996291212 942273814 327877319 754037425 721726090 101208868 377509741 194575609 390970001 270652357 401577693 549991273 411016225 924593539 160420334 628671408 442908185 999311952 150410011 420943312 804442964 825375143 148110915 373446074 457763490 427759117 965434809 491693243 854108943 389297573 612791837 939918436 251623643 455902774 120966160 789807446 752052634 609083011 753738490 864872937 948055655 158454405 777466132 383162835 356241987 980516930 991436900 340571022 174857751 596506724 719402937 303540343 517416324 205077937 671793771 579213802 968575884 467058184 344193920 569623516 123309678 589816902 589185309 715989964 648758342 129297936 408337958 292330700 149964909 553558363 704941255 804474666 149807515 632379568 653970307 942930159 722820874 346850802 198255006 201323955 329307784 332677613 468363086 397168634 252145840 920196872 120058822 226182914 565104750 286240696 566454662 806314331 754218186 776017931 567827243 256744733 630366939 931023867 260199103 738092181 667683944 447836110 335745995 779680133 141905677 686986233 670792567 426767563 192826653 875633698 676760974 763410612 442168452 146641058 274255851 773454990 206815709 835776161 894046970 333433170 315286207 320398067 315051960 178070942 480013637 414651243 442968617 442735088 996387334 703282590 283045348 856549976 272897581 638899890 667462882 222490724 570406700 509563277 473588830 979277342 118726383 142206632 826525594 693279927 980289497 796284091 206263402 582877344 153224197 732667749 940589764 590953430 156043302 442935027 707130385 779621249 362662961 102676714 511254880 966051430 218664056 820101053 299608697 287922235 617904793 923689919 752908063 903589802 235033431 432453708 789853534 607133004 604835515 428276720 279391148 650459692 134053694 814613260 398882303 898696325 549028930 439991417 616297356 504421718 540757579 965650121 210879306 691149808 183477961 371700693 182500503 618435049 780500296 170207768 980585818 222996546 548591933 529319955 504521709 875405688 938687584 263720983 816423917 315652432 317641747 109716993 200769085 243180244 366030899 127119309 847360061 312658099 151446614 604600264 583286893 141806313 464905449 736967748 571005965 121191037 756555813 259237964 927667868 581112506 605293328 128040214 994039280 805108212 496462402 469862500 556110173 222583076 651531219 111931426 473233285 436982520 318412942 995017258 885276279 359435890 570997569 583388788 498922724 337838552 355110768 337535874 246904360 983627416 763928905 758319340 547979149 702656926 436712492 599952157 508292747 433865023 348791312 947036299 665742832 608631902 801885303 235904941 330499478 950412451 577598294 752974722 457864524 342988685 220816206 739871475 615393342 388859536 877295581 248955785 666862367 342329605 875924592 739302486 868130492 792820421 164062868 380796006 976453026 353206046 590760249 322906983 955008852 437829303 798635529 286827275 639850615 807310362 616639410 713728110 938884111 735328930 482023166 280359273 687713417 334280904 677782537 748021972 988499699 501079343 125879524 260497693 341169289 532301958 787017334 898650095 243188307 594789574 455391763 533174526 584729392 618566494 522817356 980413288 619858665 869802524 558929451 815491561 701635788 225204840 369801182 195818987 837212540 145062464 786368497 941387557 212601611 577163700 696863381 828863008 137548424 595134582 450718955 344053043 418067029 920194139 816869569 570553394 582199955 155812134 279906672 463936426 997749650 614253964 429761218 104569721 869189877 621343841 670638046 484419713 282351060 460455651 546228257 297294741 353454072 896547074 255520022 181315704 899678777 835301532 145746224 785088221 517390748 947187146 202413838 812856622 180475742 840349182 812433953 542420946 874422358 248442794 747578095 543304706 390682942 856174247 633849021 211672486 321594326 860144290 620217321 339431109 800995086 274216072 266442519 866066034 578110261 996229310 984850403 679079965 437826888 603914268 552064122 338573411 270019045 287101795 865449774 627442994 542994739 983077784 948151645 534582637 675866412 488730961 891839171 123492394 347349997 726302295 500941035 169647147 314438335 905544132 204581775 858508603 300095472 228308487 674353288 896129709 686798457 196021269 968185716 820549471 697371410 842645133 284850815 750121602 835750107 360430076 549993174 961284520 186245761 852557494 696760800 920755577 490833308 919854649 219784332 748848465 990504447 490941103 147231480 860195864 291878831 976705987 878515715 883395433 275131578 704902914 422998819 465650159 415692521 788619459 367870327 261417093 545376720 975253448 411810402 192641056 900194024 364379496 241343593 935282438 783304080 491556698 182127464 282411451 280013972 856371321 238182510 204516449 240328723 755509636 759750025 736890007 543376127 330902371 267312761 486799908 542514619 888641796 584778014 276241284 204586611 972043318 457919245 683353238 176640938 410039484 206285393 915557965 449628779 212075627 955674219 165651732 936319956 615749651 162874005 986979906 268014652 725589259 121528424 290525666 227239580 445571897 554245467 702864416 994087726 309787473 530011532 848183622 983282862 421996392 149535529 592949213 971232829 599210815 292181625 789093798 968149958 115576213 249094533 901594294 762958732 440990061 649150466 489073032 959933558 252336024 846051404 406538040 475516839 309063892 725612691 954149152 898432879 438838995 531365077 280177993 729862366 692755382 829118456 377949949 818868964 194801955 264263502 583184862 422207903 137372205 934673195 543046930 982154212 838379645 241359287 830831069 710482224 856722276 979152076 793478500 342710565 208105007 946330372 379812598 619392459 708029641 861054716 583776323 881088250 373639950 703516310 511845772 547622070 344037584 497252135 818046414 900161600 508853815 863383766 458984855 276474856 130550185 363417613 263725986 734994598 142962723 409794978 734831203 891216510 151842406 509085235 815761999 489846521 203049576 622558999 260239993 355754934 424808517 701391200 996702762 446274533 613497692 278964202 981221832 246706616 622246720 260369235 259917906 167725783 750066239 577804430 117146633 330506422 795782005 168581788 436815064 267982141 340396811 739695543 299761887 325806922 885350969 807588150 977570254 511389997 473632121 210587766 700477016 947123614 994914366 695390801 469057564 488455126 851769719 127474860 460627789 878429860 130129105 413371194 856000201 363373015 177029501 199327992 633440482 445415187 597903226 677273800 968443328 784825108 192310895 635656527 213206517 766786906 533297268 178955598 234919500 581148142 830459194 689297212 102838542 967069889 276248687 499579950 214253943 563404146 806769751 353898545 584516120 469621309 581191786 233192627 215541485 726059455 192442508 150172479 203847708 691973607 931517442 302077361 729272543 730295895 103775217 499926272 606068860 313519374 419813397 782824747 147735707 207533527 973191946 156439133 261446229 979447895 203990742 768425827 920703804 309974303 733441942 589425592 535705295 395067802 268760177 593189821 846364193 406111095 274309224 200837995 536494475 983011096 641523301 361920102 294951462 538826628 778076465 651243230 315586165 261615340 565354966 709267332 361291488 764928466 808308605 886123358 143410858 243766863 793411603 718305620 402350277 180602674 633608098 417497441 332914996 703333273 788413803 623524359 116560634 368532325 359338071 159453927 373108545 519636599 725941294 143051127 292957874 201630732 618940580 853963126 429987854 112493176 610801024 817403755 452816356 200209712 981391230 417855716 133636058 626995758 611064936 386246053 695671745 159248420 124526209 723176864 189083187 598162774 896252282 475152467 931134390 246389709 250931030 695781268 709248005 979444375 145649129 659067908 820544471 368380134 777520726 770645332 978296193 915010012 514165148 178298169 361403985 458254347 451550033 164800791 114798091 311690139 368261872 832674425 109864969 342297708 271745672 654360015 311721270 447203271 444051511 129055834 547199005 148327532 983976744 141827792 857643699 618168416 989978706 576215985 727258752 131703153 192226741 255879013 181120752 142447054 672694517 890409870 871852275 412901794 619026831 568317159 658369166 821692372 121354980 938939904 230783177 520823573 778522901 726955349 968542054 675850768 154628633 412935725 218045449 717810016 614188673 469353448 792765774 572636961 360085393 339289960 685593663 506075843 395002547 382503402 663344435 469818850 846745391 342170329 719335013 394837375 781766721 562405666 635519712 481034471 274452821 476692334 715310516 833949615 296168023 453898567 628902302 553085746 494604860 661219777 742843540 886380131 264346756 728469011 451872245 364705106 440780261 558949734 552174104 120007612 675216076 425019122 623568872 243924528 101286783 230189102 378723539 358132698 937885417 747272435 656612051 624190780 647229481 777108647 313152770 190645299 382538007 272840054 118262222 629888434 755906213 667433968 435146702 713874043 233362143 192567535 605088487 944543045 778040934 705523876 945019669 570971588 355291531 384982736 272690225 617918219 418884807 511738017 970361474 715916438 846071082 901449202 461999266 858810969 131895855 488304882 716643675 541740584 325103804 540657095 780485085 464232852 217357865 635247068 792696808 977357787 647202152 684103077 497543195 706213491 856325418 225696389 375261136 124901130 799965759 319784512 111131806 278443606 610184364 344667299 848283313 844521362 662177560 692486648 690512565 213579352 703172213 845288834 970469369 464114580 411886568 500676749 340460764 830032065 497091701 928187573 247000649 860565723 517179028 482391826 634994893 423172692 779114812 384780444 793004400 328480844 259723403 377758985 468245612 379755450 911445957 782152285 790065312 473035014 542265555 221748157 474189793 741658457 823031028 876219262 126956299 126053450 535120206 647718048 856312506 683219618 173430090 595075726 802866470 198645903 388497221 261734434 230551713 210766247 558293408 896601901 115593633 223014994 111075255 737377544 105057881 801876120 667109333 698237653 557879680 871522889 471408644 531173513 971084947 649520565 753324571 672009137 620117831 976543834 119925073 927888809 898321163 591274516 596206052 490270434 758133588 381970425 782340949 760058549 390746793 542003550 152428878 547920402 574201466 124144567 313988466 846665465 181211858 728531590 228433355 310125367 584138485 845262418 244702259 346870094 910772663 322899804 487692140 313065088 888368212 738171979 307113450 339682514 612023096 608919188 218915007 308440464 985848279 509743650 248628452 106249487 225028245 868113059 708480312 195838456 201004745 468289633 381158590 235230107 708866163 406034211 620235284 551390970 288356534 413250130 199899850 233648119 678310542 489749586 431613711 571464581 592760491 824235734 997687608 634501359 257499484 311574107 698766969 484231644 788496125 608184453 630984921 589519007 417462664 940928833 232652338 493226102 459950355 988059927 339746277 999044383 838665323 182536430 915093343 836910873 746494589 720288286 342613180 199353761 518279414 717101504 793983442 407149712 455624342 518923234 311207966 516650068 532616824 414870235 461412228 575508408 430577045 929877711 674928595 924342620 713816064 625758075 144823612 818426585 141618710 446353603 648321376 528398800 199266251 792426499 191123643 114745264 465936569 177885386 809970467 718481897 641631013 953066220 172644919 430469464 957847415 955266294 598193551 501596416 298742636 901070080 247113645 276217761 967225213 656032701 445548462 158986966 609081747 258969195 823134320 556489708 221530803 412494053 807446811 322055467 429428880 808025296 462090939 368672041 147145027 828670746 854729283 622514160 479329094 814452663 330040818 511193432 341835307 891389450 192631720 395385323 616805899 356055950 339417654 796876317 296188681 908654524 468264305 812905910 996954601 374432946 529698314 240045997 108891598 620389131 345977543 690862316 546635828 488304187 262627281 804949277 242714501 626830439 859710670 272378886 479104258 719806569 339966374 861633802 447574689 533929279 673225806 278134977 976044615 166281000 550485156 541379569 760083202 896616982 633684451 896159046 502026597 797963476 830753313 941054363 472699968 390788075 674283805 732748495 362882343 701488660 225637995 806423426 713168559 589701941 580026363 176707219 500559298 232838368 678389230 313461976 336926668 481986852 958544194 949701868 266919222 690260208 712155878 955391318 349524662 233969775 752737718 140949361 282664665 739633563 647985462 457419526 799454446 273516889 315916493 345578292 748290700 267640406 665242158 998712067 140369364 568970381 187781209 636751834 710820958 396287448 940311430 839989160 510285309 852924735 149240196 919035337 411062722 982685809 987645367 210463844 526339465 182979522 228957231 156719603 102741624 749057065 760028609 464405960 314956683 885282278 803846589 358054710 573965044 450615812 846768173 435710912 494106383 690196911 788311122 303424810 587333012 190797565 690676993 348430508 263444934 515904617 220546114 168770897 138024235 856955929 834314456 719853404 700330865 328999313 474830595 287679204 832235865 622076051 757718502 253206421 866831346 808092545 871043163 983184451 867918055 706783818 811956767 580946740 322620591 679823650 684666937 608221292 641049249 858743126 797157763 271640058 284854048 396251439 933847956 153923967 946617942 377092918 453349739 335083494 819117114 904105122 592669227 842288213 896076933 636638646 106433457 628475990 274669089 871252846 297488766 939941804 890876556 977056469 311349928 517422224 483991650 728008867 184136350 101329094 663041032 638290456 653896587 614631610 643504608 233527818 214807607 695576364 751819790 592076578 821887892 734595961 736833239 488752929 281996181 307768037 254165479 520327558 200522842 909293957 308993650 831933445 160046880 672984570 809207668 932153452 830696453 711592544 353661605 580707731 382132374 461595796 295739179 959682854 791407813 242007181 300557845 508307195 478932619 607011786 653903654 445515643 456314367 624243907 517864749 869119564 739820085 705951470 457629241 710675235 924544670 347654427 478634632 278121523 512051242 940192053 210259855 453642016 534132540 408838321 908526829 856764231 821420044 348533913 661312048 605667958 310036482 755123035 501063688 545991543 452714556 436725815 250037031 741379823 238906120 654936485 619123015 920530351 753651063 764777255 368001592 859922206 245677556 923569775 243820486 761894207 178916562 349103124 950951253 926219400 906134352 353627757 637216238 671812191 131436732 765092259 349208095 661662702 918198354 745769068 641395263 146339024 663144099 905353047 684810887 397108931 892021450 717749710 773620715 512095187 249069911 640391044 734334592 364687086 883821183 750840793 546190656 269796443 713290542 840901413 969181080 742014929 935786005 477301828 607505718 132858671 333638961 987152597 207304153 796760408 265767030 572231774 435455383 712794643 429379375 606037743 188578279 843847653 178753449 300353013 570469010 321534991 565744531 407667733 409722513 357904994 224964811 188361354 312549374 675141792 823615358 626127133 949794281 253237521 572627704 448782077 631606738 997064548 951352692 221994522 863197055 820031508 252843967 695497827 499487364 541406834 861977078 267350227 265214029 463630820 830999742 302977124 806255897 893697681 837096713 579557903 257884906 811432648 687080756 556402867 777943738 871160493 569990248 945776915 262879990 562205382 848629861 468591084 749504621 603557721 844590156 147131304 994395344 987519921 743840492 637841229 688811490 265982471 921610031 791264185 491294735 335361452 651695332 751125641 203725657 414674061 688827097 699189548 860350946 643434306 690754063 312241075 187461279 413584240 561711010 574818543 153275705 691846149 769996426 955238099 365952269 892678263 259058756 529239331 800763713 182227408 649083413 408235242 132336180 597779443 108959116 516422458 669355711 299914094 261433776 220028934 772972723 809472403 339915340 122406162 372266516 735358762 119693867 512183795 182831898 151892892 913973989 898837798 349395725 184589452 319734409 836861834 116709461 510627228 640021330 807562090 860442316 320661061 312530939 951600356 716490190 686208672 905256239 950732238 570087196 378194793 131722018 407021991 463770692 493248980 294532983 396250243 276873784 981964639 788708049 219771643 973302950 800992428 851650839 558640586 317955256 110850533 382130635 434961071 591641002 549291529 505365530 373681015 251415734 325129921 228257851 323817072 935280794 721673713 836985270 390439543 301515140 532037452 239011945 769993378 370957505 385283334 869409716 130709724 360722888 407094823 734760241 570460805 830727193 719280561 244659123 949308816 499065466 189677657 670834208 836632857 194720757 597012850 731922861 387116573 590055971 932947495 988635985 656144055 199040132 841639213 485779863 565068026 146137270 633317129 172342790 347058314 894551690 107880873 648139602 961277632 735577575 216456272 510933755 463622567 125136869 460598132 771026513 140464705 395460313 766967423 936234293 929832749 211321116 549319342 361865660 507803876 391850017 592788851 404749041 683312524 201482882 214442737 986075183 529051716 666912230 594300740 659831465 681389407 359033103 788703324 837640531 194709246 397703036 493989857 933674116 511679061 453957544 377153491 686764108 119894801 931275243 301986278 145970007 422531407 872900332 600028256 548737033 803906544 218805707 719636403 977358932 547003512 589393488 649292877 185404852 502367346 586281334 776717252 630194855 496321583 659563611 891070146 870132500 182472900 439356730 764366178 982234579 391015414 496609946 367921075 721127744 745911902 608700082 144105933 219373109 522166157 264526220 823261291 220033357 494008333 958031933 772109244 234796401 782577524 447436981 164534051 914888292 286604411 143310520 553784535 555164002 684227627 690130684 234141625 473492640 412627246 501464114 373054723 440060236 525618212 508045960 852095776 453802217 855400712 118287384 530870190 259507528 189300306 562121768 468476870 625988732 870474019 824953180 911715396 216370471 522579224 215141446 222081928 349976562 478056263 532001541 108111074 728859045 437709137 294074558 213127435 427589715 353802033 753289198 414316964 558178847 293796336 162459328 519869202 204780477 790190499 245627636 900408208 679547488 284500771 416305188 323457716 934631926 152055843 253956011 744126464 716394834 288749718 353955686 575529958 366944636 127604650 398767642 946050763 267464558 542778550 563138642 376032091 645430799 707916775 409155085 299685565 791579666 747120454 462368657 653932942 175493166 307755771 527777700 388398271 830887401 199112040 131521210 957015196 461265717 780466833 896498840 760577244 891280948 547958668 112181093 733256519 183057524 686761581 420280196 448686211 759233961 722116358 133739946 442760438 680271756 986735458 836731382 119607047 152888259 881842828 920311594 460473388 201081167 989835784 901023423 138103367 562093919 716505699 732782166 833927994 635982615 233551302 168742221 522533394 559373116 145303963 261106828 743384435 785243972 943116555 596637900 846271274 708733005 374273742 528658849 101168216 326168518 897159146 210563095 979069724 384046350 322158956 953555943 845308564 226027873 634107449 646040102 250039726 610961147 470772446 152209663 918864690 692433643 909038241 282232566 876824429 656090476 252633449 553706421 342516221 379502272 688886942 433519888 435465298 170543497 786384146 218806795 213447112 903754175 806889551 660314938 246004970 293641328 796732154 789854323 877080054 433546383 774072814 530272978 142411545 206102046 221490358 753136325 890596199 679158527 545776381 919073657 597195720 470991889 510606950 613854560 574021211 430465118 129200820 867928865 368147543 771375104 207114963 106003454 474568671 180571678 260366778 462283696 865204932 613560024 124987044 704794634 180865637 632102910 382321921 310458358 788812752 399714208 823684884 294515778 354781208 593299466 377740225 636621089 714567043 171895956 172911518 202057245 383312361 624700977 202598464 178961075 238804577 109742665 705399725 944033862 323630001 333965588 570798997 556620568 997860938 225803909 821175373 219767486 802474286 357639585 535365260 907101714 522376716 830389490 133242246 783740739 767517803 152019051 429652677 705800818 454000762 902787304 866176102 105771652 889214977 101792911 623817902 996549958 503191545 158296572 209363384 660207345 693856290 412125336 739553505 872969422 958267065 974951562 194664553 855617356 557867483 730627851 494110766 946633729 869647861 901246221 986109134 188725071 429101129 758787967 540722757 618979571 569167368 425789235 393099397 709442753 605232797 556044900 453520428 463388922 251347675 604864816 240617196 897748060 770066608 561675951 366039043 110459317 818578484 937236382 854729718 572872529 814553203 564149694 894209218 836614639 208611272 890410906 216149201 844978599 259526128 326332559 511842510 958030752 625056922 483015341 945069292 983243789 107785363 296931181 294956061 556816909 561935403 253779782 725642771 154353398 728162113 200787592 179916795 130392005 348923715 897708046 658514329 696303082 978990706 768623099 133143338 573764379 751788334 698128451 651818574 830082513 488791885 532829687 234008022 553457159 391357205 887766165 642520526 558173042 597009541 898950959 518322616 622501138 109381769 814492880 936322223 642437170 721308214 812640377 386184227 839365789 690387330 309693686 853428867 390828666 363612619 990428942 255889884 628129275 963932602 677025304 741710082 791720754 742819176 544504888 719592481 865598796 630225303 248774167 811876280 578739612 480920742 798454402 920999638 765300688 370922313 150196562 488502291 651748488 784121752 502610067 302069395 157148884 887811311 799401087 142210422 861639184 721524972 170992655 845938381 233636383 196699712 747820868 403556695 617848941 751230626 254351419 908258678 308454565 671436280 487012834 572025943 364863423 798607797 948557495 169760123 296467980 679862576 288947474 406584959 601827723 540984842 199896950 790946306 564125433 629405514 233167089 508222409 868462887 624797245 172968028 962106034 623412994 646255533 686951285 440536077 852382139 406103865 312138820 104090491 720475260 975717453 429673325 176387136 958003770 370268289 653197843 628807353 796272333 249244647 107168031 503440650 202724030 467215881 687968596 883582712 110633079 884554315 569732845 364590303 534272562 213057968 610225684 407424775 354090029 753443335 967095001 869694283 269193944 400020000 473923601 920664003 481773160 703339827 595951602 200962882 252037340 785900697 437497052 463626291 634835342 871705098 228747926 757065107 734516207 274453404 642243420 761002148 686163847 929154668 211191544 358644283 961831832 460993134 986103145 929524654 374072317 375763839 400228394 635495798 832372397 526280990 949533614 412320542 117865793 754190193 763206512 381720305 616124582 953438366 655128467 692282615 494043873 650452421 250009940 269536027 387173151 905199319 303926461 823780626 519362527 218302306 552608639 819852420 277280893 799400557 691196208 100412026 331541309 294853290 562227499 220870927 171044786 810722859 286581469 958396404 889344306 782482659 398767528 772002665 242265243 487791053 138898111 543154006 250778797 539835531 678346882 878172678 112910325 663946038 202190556 198492823 179003195 968890968 737930221 289077454 308322509 371797144 812515827 328120923 702014788 577671851 751847482 336705344 661665761 112758793 393134770 510419751 708060317 830972316 722262683 655947072 430558091 956700710 887155872 203851492 718232584 242195313 810690461 963716545 126514776 346222436 947793546 804353753 520906005 877764515 921669513 142072673 146037224 818342940 342170629 410025644 696000186 173467365 257963709 968565339 802492737 223443293 569778415 290235891 810870445 124809704 889377408 609726671 298772974 584055425 222540490 248028261 593083354 879455096 118268331 426988219 811958332 547212468 196723679 686407882 242793589 951988223 680247106 739318426 480430003 942863213 243507610 519356013 373357524 830018780 217725515 138646137 731551851 950214586 767962690 903554619 506845140 265043916 830121996 647542289 990495897 914396143 346991941 796644604 567719281 105519215 267712323 154805531 939023304 261331104 533347140 680591414 787770218 378054225 756955301 417320886 259114096 469231271 862826509 458958870 813722923 697212002 366044108 840054056 235139783 799134416 869737634 945009553 705269937 249541961 538825708 153771434 252127143 512777290 259785865 302514210 176686417 423507273 494547506 293985411 553238161 566881964 859244427 607762808 924413799 802651440 848583699 907426594 802754274 611521901 261494096 589976352 935178011 633944136 102986028 231428240 713561260 855700821 948002487 686093041 127974725 337875009 108097752 171599303 401867744 781125104 916852413 179094672 406158575 173393422 147185769 903266957 133967473 731769028 908554978 329902196 224642592 665018029 302988820 111673695 157892259 873831826 232663834 597252191 525514837 538863743 952600248 621899308 991909060 236442772 406005819 941533230 550908605 619532989 259155131 634064704 427674171 269366237 761154296 837262224 476439837 677203309 376338742 524558785 731642805 859793956 418960910 633250760 221298708 500918652 481758705 333573255 261237153 806438088 878335139 553311017 174800848 230110673 796185723 119590987 551675635 156635677 146834675 287020946 214889767 684569769 198668964 588646264 528326734 684475188 211475648 295173960 398729669 562608549 579360774 286114403 176628635 894843278 675326543 318636047 460125033 734762687 896564312 705113312 721584051 350186652 674920221 567840809 782682810 516766896 200096525 571311813 962489674 282999085 594685226 355433620 678071490 506189651 508758607 434166787 866017840 103127423 694800922 480916695 294056948 896533737 239262706 882642412 155988694 249333066 167108528 953589366 851867125 684684545 308156138 836567958 949978568 603165095 974740667 252874747 746760477 514274182 569589121 256700544 354438276 516160921 827598416 877447524 581325580 363343653 483679708 646205183 939617497 955888048 369506992 124516528 923302148 162253977 394667288 149011866 990953074 287062738 927366936 415375873 411053381 707788127 309733508 282659998 801301733 284019485 835162759 272999906 355518618 958901114 529709094 955082251 438912383 423196914 701008822 456051458 374342268 403113112 847736390 169710021 278348962 137209898 442294523 566822971 250699497 786766632 621462302 540389910 843154576 328075571 275049825 848970407 367862689 688981317 332076972 196953849 208364157 886660300 609956578 350872832 721268836 618477471 531466378 664051048 800333551 884793819 827775524 141661730 517068341 542448895 224920072 443685232 695649650 271769564 556500510 523977294 619979281 884616109 896897548 561002153 786237394 417517443 690059016 804229138 130865585 341175971 809441781 578336250 738561620 105972657 867262840 429073042 482043939 630921712 224934748 924063656 749196478 601899066 940889562 374438734 439932926 954139159 523870883 679908088 638655465 857039431 180313297 641663078 853547851 620843973 673550233 650406086 889684434 828917966 118681682 822958584 551219841 478674883 846806298 342785480 729925456 490942841 556514686 362798670 725200580 233204832 344569981 404071368 119931560 267221797 959886587 898183689 514640479 289881951 683079177 139466515 725062224 172263041 917593634 796006090 997607940 273464676 832907646 196427098 196184937 104432354 801782350 148546039 673444839 544913000 788797334 296218179 904761960 839024593 299616964 413917071 380351273 998298462 268691127 273785675 544527148 605631585 528839664 945294586 784926552 505411573 465562955 527777766 425882730 323682170 760035009 943518354 785283998 525885681 721349069 500475329 157789742 842198715 493431261 155667943 789901154 612909289 352435835 610565032 497915552 862784363 656388117 506430654 743892255 905226110 165263227 710266792 991479487 973577522 593563573 621569736 225007171 470751250 254845369 480464911 405816372 935759037 549137520 329031590 589906560 413836171 285177010 738153749 422618085 315623353 811505397 773915367 164023695 190975761 508505311 604726783 733654687 514912754 310257857 587953543 274114196 488831204 768854399 150784674 786710207 368464962 389208465 198574106 489639717 879891961 726746790 360276870 466093932 757244766 280319307 755422720 763700270 726749529 943729437 265285575 141919681 463492578 403711566 896922651 989484595 608797448 775515759 369075654 507338598 304470626 689140917 781347272 441719333 505145027 432177495 157145033 234663627 181954512 238043893 796065190 173021188 573388723 986449703 874363716 627486540 774810640 901321950 138743036 943396187 343800905 941886811 461046540 217622920 364689867 433765786 973418962 865754291 267332733 666569361 357302498 730205592 372676517 439167946 833000671 456053655 327274848 985670872 586026161 941180464 614398913 694413115 423206521 918515356 193405860 896099464 404945763 532816748 680434275 885299917 550501982 244728501 579481007 104256049 544883452 369861511 311208688 283847889 948554034 469231187 677598100 325586929 386104074 502077441 844830598 957902870 100897078 336004767 608116849 663427611 507184837 631086950 549420554 895221889 868780781 664731096 299756052 421208382 212593819 508257262 465249436 648253731 731708919 887451438 530147974 158108055 275455150 364042443 120099482 143158592 384419740 397081967 250902193 714085874 188248428 711202701 685145536 111888263 586970384 175492182 404062817 544923643 956694179 100161731 290058584 192449680 134992914 742529099 540016291 455501960 774685496 227536571 664800533 416260992 231604097 362294747 136179194 572114144 448146460 325945202 923958292 726996751 190484692 537168689 603881508 694325041 316568648 806988538 978140473 582682647 535686544 165517991 326544585 803455492 980761988 871085300 424106734 484333351 138197544 529164768 578386869 314618202 362319352 411919957 653718156 657281429 795433821 431543298 830524035 490174715 921927218 774271329 880872895 262239944 871657040 860736283 159625587 202087625 900858392 720324279 227663195 261897343 110967768 273552727 119997461 587403833 834711864 440723578 120625499 631954509 328707033 268978572 238266110 980735288 351606819 228541014 899836436 305748567 322109687 975512333 428396879 697220587 429309319 926880777 780081618 658749672 694396923 893919048 544925492 829099773 679406871 335210172 510366052 553042457 390090732 156346340 934261729 134168508 172921658 698193365 668215060 964810761 642294871 260489718 848585166 860216199 786313942 100098682 736836382 670314308 673317145 708951418 498238886 989096356 926789898 699116088 821274324 588239835 902582171 357247048 468890479 461310765 493877858 285397294 509230854 294104959 258840237 925319001 760006220 402208066 724919243 811958704 902172605 903261499 311140883 285949359 870458890 590252914 310010368 684959290 915608728 849200905 971885302 661268763 865782922 531050821 628070562 487252889 764819374 689009536 572352775 573306786 974552684 475584022 596030523 650076789 124782271 924891945 245741152 691946015 185582797 219477503 134921803 673885592 478720448 446246513 554016895 853965612 691192704 629461799 921400192 632973681 569110041 573523898 191490876 417372487 700939169 953133299 270047588 206359500 152950296 448741200 192398227 137170088 218586877 112579507 655418379 327634421 658635048 354176854 586190095 370378434 206083820 302647870 241861260 606164410 211125709 429786458 586505706 855700210 351759197 138915374 906820341 118284043 691743122 890923318 869399896 759113155 314072834 894788473 444828600 484539085 731276405 516544279 638107107 557803835 822887711 897405719 248634303 255777125 847969578 489436091 421386353 702248248 206562736 313331240 814617085 873544363 919967435 877471659 637552853 272613963 479487261 891388637 705287441 724234215 253337646 598793768 968630429 294480242 808763861 767678771 963821402 486516859 474275933 216775347 675538058 426597493 834186067 384207193 847604890 869740543 134707230 328055722 859808546 610064971 523042647 642797583 773129115 354954887 451680983 759411466 763138906 492052340 880714006 805095595 396428054 450187238 537066329 794166567 423268212 803727983 377358402 209142079 580411477 686925679 923429309 796759662 485547063 993974372 718265662 159018727 760087769 752683878 457346577 153319029 588489146 227502437 378818502 429417966 441106181 685254742 402935369 570164798 688820501 949394158 961829080 947077160 158115154 342178946 916672087 599628931 273088158 614691930 414569935 406331840 214515381 658215395 716220478 506862195 829398113 832537040 867950262 667675363 339998148 515230838 331029854 493837571 850038168 572477328 705930236 965513118 167865154 368694472 366718873 312126808 866418818 949118768 684319941 248009406 735470087 834238239 908279767 817036264 469334549 738821960 700587631 135302871 381493513 754829589 573117354 506744964 590743122 469487281 231922497 165961831 999189794 549694628 693635917 423046907 195381913 549994233 787323386 890736144 415165467 419839777 177573454 466148526 278577137 771276898 588947528 424519738 194192566 664668776 893366575 694518737 412473886 968209058 728672524 769227612 712397028 411906571 501759007 263290713 647368374 793585985 799027440 417254234 106613075 827094706 690053694 318987074 843310849 123644787 412725473 560139324 688387347 572073322 935271337 496955718 837711842 454951189 758102434 809542164 753507954 308129565 614765127 707357975 216887694 470530922 449107283 524892335 551958117 210151010 812607840 339384426 121759952 577058787 842162113 571762669 462489305 395949924 985423856 874689446 654973206 176567039 777889925 759311685 829125279 986697837 962393029 526146206 740547656 322579678 368696927 997895653 448836439 981402344 550409850 981179152 842390107 623308567 661114531 520514250 228338297 657059128 201426545 536028324 109035708 298479821 728568329 698298812 795467938 959890680 948963380 627312061 346504459 797316490 555121680 813910019 266945962 627312037 141998967 844121349 919019754 257181070 777406476 368475347 105827710 959171481 120608006 348767204 382182850 671622116 369249707 387734986 689900453 624625921 967684804 595118438 353499963 905011081 141690015 443737098 353899877 220266538 552835333 728614219 232498959 512530560 713100852 772222520 860030677 386012693 123256437 560297492 355650394 419367322 537883921 175951025 435127748 446141788 680337545 191909863 923089181 313143376 671012921 596863755 929313342 336051966 379560430 447318549 485438332 211602530 981750031 413208039 689099115 741791606 243629816 596178868 371213332 620848527 418053471 996847167 429080587 345327457 232745108 220419558 886778968 126847105 466596393 730318961 652256256 419883330 435857306 879186092 132306316 711660330 827613704 294860106 272552091 775909413 954739427 831137442 216700194 510903531 322010723 651691091 845313987 234211263 478840398 745526887 872360268 673248054 581393715 244977162 390271379 433886947 609553981 293204022 116037274 609421866 487203883 286322190 571924566 692157578 491638434 810563642 224251471 103066262 219008923 751533652 601101344 136138226 949854437 486169286 522061664 120556465 636991471 894737945 159388984 738527266 311863791 892115452 172580231 242266147 523387504 214336041 600327052 130620088 478980269 106680264 231475134 512172932 531275720 102045813 923606594 943176706 830543065 136159720 101194177 996064320 260410810 831553223 596387604 362266867 196716656 453143122 885584041 593512439 561007429 626381759 244500748 499801621 453290434 671386051 499797601 703438754 223072915 124189354 295332983 707983110 511686829 633630988 154336688 844599143 841581747 338752080 321142087 356186809 575127632 382985902 402249687 206074697 716614311 704691396 862331786 641671052 231289726 471469710 919206590 712520638 278780431 308626545 884338275 405610132 561762598 117976994 109156948 575528018 107913055 457072784 894722327 130395934 403536819 849266967 777896236 263700551 139858024 789683705 216667896 596394835 152274533 160988356 658383182 993169013 147598297 500357844 931852952 128837873 624063200 583121177 506727308 600516086 211895788 255557591 873922215 229852580 448979954 466743658 406291778 415857455 442875074 283995140 427645977 476514614 422030679 463962693 996453099 351356080 579698870 927992473 307351544 513255211 299861876 464557151 811134862 496703726 278661608 792231429 297530046 253029167 409475339 431380418 313532847 786868982 663293091 793475993 966390366 928566916 440012030 409462472 887944116 699697806 320809264 742121678 334680778 406645749 850086111 756493815 473637479 930357996 646896489 146711036 896356053 508228284 880619166 442511801 430815804 362839687 226996491 778782817 782427789 307490942 279056765 153829599 527447931 730016566 949466281 965654224 973582726 884842509 842249093 628425104 262478731 929974104 952353813 217437221 564729467 914865772 147124288 521521505 841935304 330997912 353043576 599747461 406185612 801389105 821747817 348457756 328298987 562874886 790852414 401278799 748726210 806717598 865109982 804783210 911481463 107495599 846057514 670338976 509318805 120181357 370413582 188443468 924628626 112345056 422564831 372828636 246083733 221670965 555342685 871431092 600464100 619444877 294785562 256927710 363611396 953065759 387689450 445274675 990968299 270364843 813716149 402550058 699092191 726060508 711344513 690117617 833884290 216442545 679069335 782605714 873260541 388635358 162429389 915388887 425233271 175801255 744389587 574041480 489182605 233407652 232506390 658203995 778819991 512003433 841941601 810963783 106504619 854885455 801893759 986494894 829433742 715133215 147486314 498875384 505888740 316352878 453901395 874578565 566162260 257767605 464600104 488808702 854753659 412604823 485405524 886994537 803344743 630268743 634701141 564780353 951817072 929916940 460077672 166393489 773258502 924071433 384036379 332047318 437318923 155619852 420789362 626173806 300338550 217376000 765877484 656602083 918781791 968332477 776064468 250736625 799615253 427415220 197678485 118573029 839099614 970740488 336057866 297122212 354064602 339535165 937126427 678293670 584150982 510768131 466390767 130313341 372136625 637102874 791256711 660445834 900076570 737958742 190054404 711159479 293308625 719917293 290364913 942696799 413254585 500900389 341989636 899753132 310399463 884614250 380830391 742014838 543970894 294583422 835048025 142635134 500507436 764957771 563578168 608921194 108297573 723990877 395246003 774685630 449454272 325057193 228032578 991840966 359463270 736944976 271990974 260317885 166202752 101456416 527272295 430459108 914936624 571663853 565788054 763888435 615601869 982673907 554377702 557918859 361737644 237915594 787448190 533031145 676386459 980552585 836487557 192379487 847793345 337921018 422427867 884534152 195777929 957039954 429917575 855830155 724688151 652426011 756151930 389376456 235193391 728927081 411569126 132973369 277964896 895840156 458774118 839365455 913865206 895769716 925354605 917746204 167964903 503568602 192627016 905610409 782529531 101254891 788073644 576483728 749060270 559418421 125923145 649761888 219469858 158254865 595038261 498609867 386737516 923297521 743277671 314209788 146770377 305624082 993082993 916609540 231721857 449012243 679997213 943872660 193790373 686170959 121866795 610259095 571526465 701982587 191894536 270409633 114354871 461953718 179313843 875820717 383715280 204986598 460553303 414464684 300497096 881245668 421439173 169264502 321655087 981042334 344278148 711261560 874056980 422459384 560991830 121278253 200006712 297677430 862533144 174924881 250977258 516654749 659991294 494491005 414139757 831096566 821027398 949330752 526551134 237965088 898863918 418132878 561169621 849159358 990585978 941988950 818448214 109864332 892773234 896591177 625517575 781334696 796743585 998798048 102808658 938563271 956025475 691407454 779871007 758986821 244611272 422732745 255240249 588362945 188419626 733595408 297217516 268180087 375766421 902523700 984613599 502411151 581579586 595061629 422774272 875517019 931416591 286853345 632608934 382840882 518301788 319203117 791725652 616491812 715079289 249281140 548586196 303546728 613886199 156240576 213871510 792135412 491698979 373508455 746415165 981034788 335254240 698345898 644649187 183150654 741456487 126050872 858517938 143185246 434224078 980613315 720670241 877024171 778726528 457805636 554269685 253560284 975945662 723572669 103716998 655242163 369409729 262036342 348989718 653550126 873620114 257304996 744567994 505396745 615562523 290936412 960065909 256361099 285924423 557170468 830378822 930754779 306216150 453034299 930164598 153658638 715207967 688137846 617792423 291498870 460202728 528049822 535664086 751238915 338012794 409812544 337492885 770247747 250085247 496205515 732782933 556390949 511698522 493508677 128939140 375431074 116931228 142364358 394996506 236299882 733114070 697127431 318301133 546032762 849866970 190101865 468024783 638377608 672739824 157772656 247315287 126387706 379821429 421287840 346483481 894581348 632002447 161915934 274013158 190692328 716739277 484125439 378001255 123536332 776001755 560952239 777432789 146909621 678569085 579071429 184701033 844735962 483770783 296087060 984457287 346592604 788923394 869310471 750409206 486017031 131876956 845995277 442126759 677557483 302939982 616465084 980390720 204109628 691945274 188678989 944461664 846104358 142592160 735187373 325644188 460632904 246266624 145320829 842392588 682091053 770709114 355148399 793170544 757457071 814415753 581690988 642182222 766479719 608915106 402444895 997197376 869972704 943944036 295591484 271388554 969195845 304787579 403965260 889172690 961563337 437060173 460236490 647646512 842152551 646132053 810057008 663395891 703916620 791654415 662898752 211364961 968232968 746502655 675568636 146430725 912514168 496382330 827594320 805764678 366138572 496556977 363486608 886072783 271714067 930567648 763989643 197928121 324554059 765273087 656230016 614866528 806305010 624995716 647082972 675062611 107600150 967139520 943938631 336563034 616485890 687483350 155239525 631203616 104675519 533081843 685221490 996151729 672541137 893011595 824391812 171403198 770588878 897683847 805405480 743541635 608917763 705930526 128108415 667126912 979858379 584525006 678948512 429770585 285480511 775055144 625963255 853904364 427837986 499947824 284363562 859713434 200650930 114959610 289093121 259113989 988220715 786675164 548382055 175246300 163409997 262759246 460789291 912686429 315065089 458759661 833666240 969753554 140967712 425112579 872778837 711607553 784899673 392071197 139835995 401045086 529844726 922640353 325827633 993084759 651926471 874949131 159399291 851674384 393480653 252396856 239109247 640637652 863407687 582566860 396657172 140899883 154824699 478522855 273196442 608046061 374230242 820767449 578828880 547273461 598668060 498181068 137056250 514509684 765415144 481307115 919374480 698625477 173276785 733936002 326788334 793674134 760631382 756077450 189071818 916149311 882982175 855542644 268359981 609920775 976071714 374042644 459231165 262365856 221762204 785382314 902837748 428449899 951629925 256134638 113869590 953558669 788540702 766826521 566587698 753335732 789928901 209812676 357443956 521839613 551912576 302194557 716589023 475891501 823066715 198353851 954400512 547622919 534669680 634426057 468403700 307233969 269362771 820332582 445314565 484952183 537886209 513691823 648099792 680778660 830239514 118808557 853147261 330572163 648150661 980469435 503738332 670637136 377876940 381115721 447877556 541347508 286806984 511267591 927068413 101609576 238364364 462468389 725021638 854617204 820187031 600411387 214195279 241257279 484599776 264584563 638335173 613510192 445950574 807826653 172041346 851327726 730519334 832334566 258456442 197985923 214725757 310502838 802728995 323995901 497092868 455800540 533939952 472354947 310984463 190426594 210034364 262564331 131475579 506728547 328672122 367974277 471695200 966253081 414664335 360856744 408441954 549364100 129162755 232606738 460075915 951995563 554291784 388342547 127212839 278336487 374048539 786839017 213055930 598857764 336063319 386979138 451353156 519375755 771062247 808389180 221877594 518183377 807476571 555564796 819277955 799362974 714867758 895034862 114047691 732308024 104056935 227085415 305940184 520240224 851010668 688909916 780721168 145905966 130758268 626492630 531462238 995763227 535062451 867013315 470233005 693202371 586403117 948721466 525158086 562360876 659550186 261938596 883142054 307379198 477041501 630790344 795485741 384103830 351828699 305135267 426965197 996683344 712617252 301582568 632030513 327290222 268846077 905502788 897785911 918609575 553311388 979921243 571551994 428758136 941981707 851798403 578735870 238146767 305700253 575720945 168998820 837263042 762750903 513353982 479849688 296185225 716124982 195295386 219265356 315375868 664267902 361654192 406958375 634836589 914214280 724809980 550213606 709380434 975132977 396843035 721029456 723095828 700022333 742658930 589773179 624703068 269514001 189412101 135607560 422408914 140022805 735105134 744864578 217806500 996323489 824368423 883871961 579311771 669871334 634940553 864091016 679687474 489606046 371831846 842743904 927199341 222913265 954052006 827048781 595222085 207958762 438885376 677791055 107875031 240984301 449476116 643270372 636721307 968589560 468668446 805091538 868118090 847222708 201371995 702170518 948875799 770089374 626910830 776875926 395178603 361501221 835750031 855584255 619928601 724999676 958773653 926768115 701924416 480936158 995154914 224467353 677936073 897930063 398413103 235621776 485305172 924211857 867056929 713725950 270568811 761622444 370962769 416444038 914833766 176395473 198207389 866003764 772417657 138144302 509084617 143248903 382637125 565431226 874820770 953320331 647522115 457289509 754662385 786431729 832662628 235129635 104849106 480271609 778978482 563790796 217056072 920961265 399245407 108888399 661785867 407480751 115853496 486394602 415098281 447427423 508777017 326258399 769647632 328875645 185548214 343363736 712943577 264001267 193753118 884098631 115690551 850684273 252726679 711131642 208439724 518122015 208851215 580257917 382154733 221404716 590131428 976793805 179780847 796026345 172803161 758953257 912255016 906206269 558002291 742093159 562352760 396886924 292331000 183522895 819142462 412978456 332329013 526526922 204923542 840336261 658316150 978064814 610515168 245786137 887318074 495246545 777815842 617611798 978435580 121198387 864191299 675094834 766422273 620641067 883084326 349569727 786501923 507093797 539820910 558960747 446710224 658008607 588092691 311781127 660321591 427392791 520253037 629463249 838612060 971925366 512400029 256530809 782627258 914123672 164037681 714252153 167581176 528840041 937776677 443184800 369731986 555769848 941921093 973162678 232536102 517871851 518133115 900134712 550088813 797457037 457964719 112281651 281541392 843402248 243025480 118948667 421178344 107095271 616556300 753417037 513908656 868814839 925141876 346521526 986090297 907471287 972197126 250669961 141444271 952551284 432259788 783641298 318602286 632621666 635478566 877160689 341609049 812688272 454127347 944174536 515105623 442231371 972203974 428607865 335011602 953172522 135605243 445204647 283483441 918837954 174228661 965287944 319983522 604319081 327939246 990534584 810890762 802765119 460108490 883919625 940318216 915814619 855120411 263685981 391519175 644953167 128842039 860172081 473853545 466698311 517510414 396536892 322735400 765283398 152338098 144711674 430878435 104350226 739127782 312675808 838089212 913984965 395147132 988732087 541602161 662865278 814123537 149474612 605084078 141806615 261005157 637746118 600110639 349724598 558414286 476632594 384822850 462413514 835923381 179622067 286111952 883627057 669573837 736205599 766772623 375739126 814507492 121043455 674157960 814223615 800026146 799984348 432223981 745368881 288401281 501016752 849842363 571038879 570900149 510401765 628766239 352010795 775552277 853778082 651048593 555977229 723702564 986660441 697010293 469012414 507698492 164935345 720098341 861622074 456573815 430960748 160774904 152985545 222532254 487021759 470502194 925419132 390708884 688359066 717483694 589838690 490804766 396380216 293321804 558237299 860671292 778658096 736812688 318772166 636417307 426111040 181332106 393353214 667203287 330973373 705483410 342692060 482749968 807346810 360914467 783085090 261346828 777638780 480176097 526209755 409506698 551640851 795751252 236616122 626817960 810376084 119730779 286407679 987631305 658129481 640929826 830617920 833156318 735787722 152851866 602551174 328801622 520119167 220344728 985964316 873489644 387930404 935008163 233948398 970059758 372373177 696067538 761595251 877486665 855508986 122027601 789569351 751220014 871646147 758748448 159026379 392902603 896895715 182779302 398713665 300552272 523524619 473503923 632478031 683030884 527356728 719053320 425612010 451979198 832928289 897301811 125660440 221974849 484963636 598408020 107796423 915376193 792001384 826314119 324330416 812112833 827374976 943281321 453015205 943936307 471758279 117389384 679305950 925551331 486644581 970867762 267161933 256044739 780690647 202501049 991209135 291517301 843758681 502675180 133300369 137450532 466583863 186477574 997751817 181074960 364430683 463820532 573544260 403034412 795711654 230813677 644241692 797277400 750688665 537153625 826539370 110012360 438084138 727065166 774947289 774743654 630513131 646846969 279871507 102422250 485829818 301586371 680955076 747592179 981668433 405141711 230005285 333366680 902419555 850306373 999240441 768819653 265166499 488456717 863988272 378508910 247610877 138913382 108955987 390355722 607744921 594670490 972100916 318317030 761226288 192012501 670157515 217627245 988694651 154871412 408195429 655734342 634144222 983463517 526855788 128735378 447732986 191099313 802830240 674634282 851716697 613326111 266919933 239604642 606188439 166453031 637645913 605665820 359702526 480552917 883595691 986279011 294287036 401611180 234792238 459203863 626939487 917265102 754803361 419043916 397852467 738122573 690010636 634273133 403037343 965589221 979596568 776771219 772353235 669952839 718396389 165338749 462746290 359913069 163409888 129354933 562766487 199860566 300590190 438916313 832850180 661081139 430357719 895416540 636980935 712397009 672633212 290542923 353481166 673522519 771688247 220170676 291843108 369172351 105571975 495133661 867227978 814008178 103727965 819327994 982729684 315582409 369022203 917549974 463918585 419116467 767272246 349211314 497046719 774791914 614540949 114217943 433194464 259055610 536929956 405032232 924937334 441652906 575393876 713419650 871753643 668129313 351321588 135799197 588288108 901455442 246906507 806703950 120995230 457161211 686340956 521241863 263939421 517334085 825335375 128263907 805050462 364294648 665280909 469852201 629914540 949033017 427939029 585550195 961456101 838566415 910834693 572713889 621050177 183462613 176535959 810855777 113053735 261096702 507781390 753868014 980203983 784085744 418005344 185674232 315800947 577392188 257960764 532005642 177725110 668714699 246774602 307317133 117514500 739413866 646745106 951611657 556447966 817775215 232884738 172101349 269265111 462582707 670238431 775763507 136158153 205585283 214674914 699447716 633406300 901955833 996745737 830463794 145082553 420739129 830207219 998520718 143752944 451122290 580642312 298014091 529807223 747753056 563294687 814892503 323686091 479264201 999708642 670686923 114649511 358587740 792381855 234700923 764141718 146363919 467011672 356954444 519426568 697803857 429597586 716934668 332335817 861703286 231458786 423756780 102395026 268546000 842347215 191580746 435315174 833744823 933984482 854204012 817666728 172843490 466463718 987432852 747591144 938036540 572699329 910474668 483523150 983154706 597625502 161366853 621142245 163395922 840308906 701086132 765082796 494059721 534992229 521509061 941522074 759938324 343893614 317718413 986617631 351230788 414631491 661514579 372617799 129646348 183122156 580490853 419989013 925746419 227222852 875496039 366893057 195642913 460413931 368373913 291341640 886554076 523541048 621229413 939369663 169431704 382267758 445440220 657054881 967719485 649767193 337122145 804036316 727830380 944532687 458434447 502080673 182441818 899185153 565599114 237566511 904265883 592182225 874004206 157266506 322081126 396322681 407374798 352633613 562233013 159331809 231297928 345821097 479213220 843055792 886931369 455620333 322699933 543916913 986980436 429586889 343195329 785053339 686543494 795570868 380201281 362574141 785887152 716052953 125809206 639670242 148851526 904572878 959874973 315582433 198590334 244012783 435950345 941011294 959426226 447209221 256973295 494487272 992093682 219979293 967586694 136517755 127710512 286899505 492021781 273334035 161786749 249860987 825337673 166659867 402540701 178062849 126586259 942143781 195880858 511734084 596143042 696336345 416616850 216204878 823675904 403378189 672118376 258228048 538612765 177667739 473948358 471537867 851345264 695940285 853393245 238118915 263226438 330781517 190290957 761920698 809692919 729340919 504960003 247213979 736667963 895710637 688856942 229886141 919632529 420906290 107502012 172376555 362130631 842507227 980342543 201529701 626236807 648270619 633835508 977412054 375435549 105036777 730335379 973565348 683979268 729101626 167295443 175958268 684792960 790774363 257086106 946943675 313626742 288262598 960701223 546912201 121535734 514116169 916641949 385480046 680532189 807626299 689366872 127720822 471218328 517926333 691860634 362555924 151606389 292577385 276241290 299559222 740244707 635659783 923418773 425394231 645040176 281296452 332981987 511036168 519453465 791156051 642636972 633836185 361077757 842452309 116603810 905226492 218652422 824499415 115276421 502771067 422606664 668189987 979409495 440817016 850307929 224140361 755735192 585265405 115022801 561722007 647743861 483001717 211567034 786470140 826037005 181828070 676689280 537356399 992207806 209645879 811696269 871830278 249814292 781835792 373162500 684264743 441274086 237348652 832674485 699105402 505655977 752402422 325165332 985313503 993653626 689716432 111333388 994844245 173260486 698891077 687792772 624186792 795325920 358164872 877756476 732732665 782923698 303489644 193147822 445326074 899852282 971758411 313138990 352620631 872115283 457185881 321418522 720028536 489153455 218340525 759441984 549327851 160370425 850276254 985429480 186028799 102285698 988042298 372437455 424215493 482726517 870271319 728503535 724697384 363370781 651863246 420908122 154824523 810507119 458381349 612180883 148240680 953059153 172689503 367036487 800848325 595609023 266688804 518068579 183866367 954062808 301433923 171933610 490427517 696653984 859979925 356713080 350239242 785245630 255790117 386433734 788411989 273193494 142647511 265262610 689120673 987104336 344422488 400897181 356119969 777180132 115156587 134450336 150181915 204427099 836262954 520105572 769969135 414751948 606304240 236328682 882312603 270095039 605361484 912931317 247113487 838188569 212885117 880143860 200221965 126152460 514385502 582939883 290628471 857708134 713296268 853652668 840173526 373945284 921893452 565282243 355514528 635296791 172598226 252113390 127575350 365636704 217564998 694689334 855561190 219639368 248582234 415321518 870149910 584187221 810148085 579772789 688791508 409533916 143946359 417883421 314243616 177234332 982997451 407254498 762391442 161842532 161857308 934157165 199288849 309013381 427315627 299218351 214648919 147185556 115283334 737891567 591316692 659323318 974206280 791996340 328901768 585454864 180370419 949462015 182960630 604308350 226688539 582989680 669271173 643674137 258297059 346066537 933062207 875286327 216235536 963316029 487659084 556998201 417927700 833929688 601875423 336030770 616860899 404338300 850913481 969850666 695389581 623822376 229889432 518873863 840912167 846035483 907326984 293470865 964734106 668933452 390554378 263069167 794817208 927130433 503101648 191994862 717824012 482162845 274368573 599666374 802840875 790563143 282505435 241634031 853711883 640897107 531757895 270617448 878523043 358004881 177868854 634865242 426343452 949994577 332709338 314310440 370139583 614511571 828895970 223529899 416170660 910422094 405082091 263631715 777699838 623655248 697491632 804665399 984878086 503528575 600129630 863438944 294420956 524269963 814869209 363679189 958173144 592708984 670562516 718045589 556441207 281301041 450070676 191186977 139812505 475873787 992531542 407895812 224143135 810628489 230061473 854188113 958322610 224380854 447184076 498751011 230433153 128742720 844945765 382878395 125149405 396101637 195351976 720971815 528201088 687576616 152462317 991246776 896787738 512857252 114304489 979501439 392896230 327375317 591047171 806806096 500686980 677508094 822659249 691284987 634996538 254449351 342842556 534239951 154623875 883747415 632870162 890826173 523153051 675589405 985452905 246788904 907186736 441554536 174583751 378484363 926666049 241786477 189552258 692506854 555472679 907789676 255347639 622167585 815404303 383934719 851320603 789429351 299749900 412312107 593754071 849616736 332237108 142306312 876801660 861905121 827231109 337327990 999334013 538860151 389431291 846719181 178542802 268825761 770393098 943857780 702940761 811682316 655989375 140690594 143673194 111782219 109956383 470455601 228838614 895999161 113592847 240256770 229772769 135800050 975969592 296491127 346837752 268119511 687062829 234215403 501845416 472277125 828757319 630105384 742609257 357407787 571892215 723282308 147998575 825329967 534638002 335460554 165378520 884470098 704718460 746461692 778900158 613743576 134128100 647572562 584950540 571985834 209239834 555556498 942557597 584202323 530503174 567170182 169261096 732158169 281064244 390335569 639441409 264182285 732908312 134967405 528635083 472660076 877642998 868632760 936537061 317799800 105383388 171280200 540046324 405744192 646887154 153333441 823516695 888975325 304610087 171466920 759000866 504671296 257963801 712479740 690963572 527304997 875776643 138063338 216568557 861381108 874005665 929290325 994742494 646540880 506243755 131927521 149141837 844015907 204763100 634611099 319499308 811808755 620625162 149254787 516783305 433356761 981165415 294155298 531272541 934225426 815342301 651400952 102186160 955289686 652213936 387371491 227194986 503070807 537422091 230203923 271467687 697046553 237355540 577823559 534983621 144646440 432463187 340202674 193181184 700876886 737369454 456389783 556776423 347359510 390422368 388408725 886396354 767340517 404763567 242039568 569581251 837812918 776395636 630549600 103651066 844623922 639582751 754545193 451327552 888572504 609593055 236576197 356354531 568644140 521241943 379143503 106059143 637287202 836594509 609078747 433656856 643639350 924433850 757930314 796462069 205719930 386101247 816831412 656401664 181413581 900353505 130434977 823040395 273074548 685817770 849087530 535594990 158289492 895250515 769371009 608488461 813410575 653393561 229161924 729512894 482423751 841485997 735168141 219881990 968407501 113863808 977152770 560449864 432817128 490295648 300708441 293450715 288378223 549238758 150568566 174805380 496422918 337037854 662560972 331230039 269777236 932752875 703067241 192340534 174778641 221646989 948484641 294774345 984551336 692105732 966211398 348792548 256618296 456273382 731169861 425594534 485808622 532927296 667028538 960337156 852050079 492998936 300062454 890958447 421485584 741608540 469157780 989659623 163002000 896806612 624447720 451145548 757963846 186763272 538528100 453669673 464186919 406147134 403274749 334927248 988853510 315477272 467891204 745299978 947956021 952362041 497048639 273665580 836509514 541955269 965892215 122675091 590669615 950629592 448305952 873247109 296029583 134859324 320509114 327476691 746282225 381364738 895994437 222537295 438639412 586577254 327850265 542919948 510022105 521558570 780933169 532543389 578370880 376850435 339479099 564290732 647724685 243885361 555560842 109986586 987971816 162901693 265574383 712284538 605504682 702030127 170234734 368101679 318020082 824783043 553801296 783053407 905419228 534282327 136844989 796217569 736856615 790628968 506403580 980227791 138575906 856652891 112691052 287284567 557808175 230777106 784995247 163197979 170300397 689958698 391756464 907771552 959614762 140227521 612857336 935598910 648813722 984289569 619873474 290215225 872346264 289971261 384826883 387371008 809326273 701702090 675691364 461793632 786773894 879801294 306361628 385946533 615120439 353882937 526951023 689178748 769796289 886754754 867527416 588579557 762031726 291903167 340366537 696954253 709437986 797186801 771668818 432953866 356456754 290326945 147627411 177792174 570961700 832072560 373833439 521856799 347222548 856068917 580746380 117062035 363407522 763774423 144126619 359502168 874105653 806165046 851403222 902603356 152079857 576688360 291939737 679628121 762604136 120568176 532355018 612388817 486492981 246145048 450503961 825330752 954870780 124348976 675695638 173539913 835769150 287153736 337787092 142891025 623409996 555257974 957111719 817873356 995607796 274429544 393579382 654893297 399431964 741514720 972654389 427213634 415104744 760954313 324487333 634603880 962394456 789494752 126497507 893677450 810195010 338352753 594842709 822570139 779887002 663640546 304381394 537211581 610750937 122940996 865820353 419707541 520149544 298878198 143616737 425394819 745106326 874951944 742204928 708770907 730587203 857435525 677125685 259417420 879801012 369873071 754945353 764743905 336670923 519091040 378818488 555979018 553717046 953684031 686276867 949535549 146476422 562869575 953379458 560723563 567739106 623016767 119052573 950736630 105257868 802525950 666793485 513335696 675300918 220660756 415495262 562058428 133679551 362117112 884692507 182019852 288498011 347379694 236803325 496749540 820800292 651259865 651284694 767705093 308652450 748032429 577190040 902797343 395108292 837210892 200660374 337682101 385971857 891471279 548415453 660418272 163961650 595121042 565633568 342374309 591521096 827401498 145795389 740359445 588546722 558846426 605882989 878402922 444231884 226622405 308306796 181329274 471235440 881000294 260662622 133295305 762927313 208646355 278294739 200058629 423512225 535252290 346643200 805243717 350076483 193284895 480855267 585376147 483985822 541685613 249770157 148732500 851698669 364572926 293674263 608151696 430318879 351151042 557665175 562880740 122863205 544539937 225618132 857325848 665437129 522986300 943120082 758569783 906173693 132447367 776912151 305817185 820970381 959725046 991385183 188827682 613801443 645782937 268978638 488607220 625014462 231340964 103377784 614395653 751201399 894426386 160962104 210036171 745867003 962466771 156323375 149512647 536821794 273268781 259520331 468423176 455173874 867982474 341765980 894722736 835183182 277158616 773455913 238151996 290839887 413245584 641870170 103265882 452632853 668734021 221446087 330907019 902675981 410501262 734015156 172686636 992793004 391458763 288814543 488876433 884720662 873101263 969676859 689392560 267704594 552196341 611102016 429551650 728837065 819952657 707306562 355625996 803848296 982639323 731110699 441680416 845686423 234969842 511607330 213439129 926324017 359881033 140551527 834759567 966068581 708953338 540847109 578136441 905215893 943351533 430460833 483233235 507844316 837147095 603720941 487233622 657561716 793378918 887504691 187409540 630991769 509836312 296853172 157892963 318523186 225089703 544413609 825366682 232084828 344755548 265149368 924535893 450539675 363690407 860026211 243319552 125183085 561782413 166241936 246184009 994123394 918412601 982218760 566083564 935784906 917544019 448709899 827766413 150833492 361643756 619985411 581863022 344894747 662504005 651693141 814221156 251112046 346926341 591687266 401730013 693655076 462817098 227407255 641962375 425636474 515439659 149667455 199749794 959827213 271407097 774031325 783411942 880067094 744006830 872543540 176381160 380349172 275073986 142491255 618213377 979778095 235062047 236111238 514953601 771711533 663659999 233327357 755603516 905436140 284621011 660981855 566538815 616343119 565056319 430069817 852262056 718821532 744890852 682989443 175657761 397824383 658697792 992621659 745575302 700205047 384512200 896496052 158878623 797057725 701045716 276676418 952016336 343638397 423034462 668205381 151456745 193629841 383360098 176005552 888993109 525638891 309467190 451355404 994204294 920550048 947706952 467038559 647347920 560735794 291284943 830583967 312826386 285954516 526114752 272674225 177875299 235021138 154253056 355944544 853048577 295488966 672263310 219264399 945829316 111922233 662818834 142541131 730905500 385650584 702203679 854960980 452088360 731907770 556521948 143760806 976387271 114576996 671075466 445153729 591149597 732994716 565129565 775066461 862442237 827819104 305695138 183342756 725692871 688001095 711280628 373175795 695398621 152574557 169338931 318534273 683841455 342628376 427522840 989744236 791832757 799657844 873256466 768038880 441527739 963382114 392536857 575959996 653446480 114994325 339256240 111711087 249604530 940810633 950096096 802535392 887767224 567225116 156793304 805210024 199676506 848307047 964170502 286806020 649003573 124145904 497535530 316329704 565284149 446090848 356336127 904139976 476384482 348291824 194739502 903105436 782423719 155760695 970889147 328957990 303821363 385015836 283407816 188088990 515042598 466784377 882560591 309731059 307573749 601612761 276738539 390093854 784519604 182142974 464977421 229813672 423673059 255851932 852751578 508136926 923518347 952805756 384277837 718100856 507266754 550613884 514214452 445665507 906956613 530329650 895206139 861960170 827808307 942048021 665905382 106227508 910287508 725298177 795763370 747822925 667794441 439826952 407160875 407863635 487425645 887320076 607546726 386291740 241161605 135039308 262943519 781604873 275919382 796203874 453024134 841290281 669949963 467553769 978764042 957162732 644388760 626203605 980531672 973992174 574926911 906578585 425256718 411610368 760237148 726023285 712169892 760590391 667580982 893136046 764430266 121371880 547611781 843058491 992174264 873310706 941341173 842757609 740115452 439393349 580094595 691368625 410764255 488413814 934882800 253809905 680264764 294940861 588068425 956026008 812267227 174535039 519532172 394555510 255395915 936973885 590582881 218973695 360089107 707253572 953362871 551931583 649812544 435172093 238277073 847176353 118059393 201977314 141275474 436284678 844250095 488845972 943157088 561623144 901417299 716561496 434314339 406393906 427699005 622740974 999062210 671161019 518606324 876543903 682798639 431772853 846015500 381228419 225002327 995243590 823394983 408441297 532562644 227523005 982286280 385997356 287750890 298842284 242959616 113554260 550632199 205715626 494211072 703620108 287183036 472258651 183793387 863473412 536835974 818154889 386569311 651996200 795567978 883267953 976394048 825995744 479239411 237010114 260657593 192506503 714424309 430159685 398855412 739551861 945146111 208357162 181534349 417844289 730308331 762452516 424113944 689742980 951713893 468554449 892892112 880785885 592611347 502111119 553384390 323941125 510208436 685613413 867511201 426716495 607700079 465171020 583489384 767366863 240591654 934040353 113477557 630783609 610637483 417668256 280356471 139114381 471102319 330806723 891421610 604926091 338110274 726799226 675519839 262814068 842411406 952292290 257147096 948576227 169559399 858261880 657694935 942806295 378527404 243834865 422691247 714805684 170831916 581772946 971658306 312339227 727134072 580512824 283013007 289286580 776150684 901143875 223542232 137029115 255174879 637767367 618894637 513659218 261227155 443335230 424780432 843365883 927026427 198615593 858386793 644442429 541833773 949193685 981502125 304880846 610186650 291362377 500670830 850683713 436189860 941601214 223127418 916169091 918998482 909054283 271094815 902104013 713233414 691852577 199116525 531153171 141406833 710287588 563218356 147326646 618491616 360528177 211092031 598257854 763154571 555745005 932405498 526634345 409383128 984365752 895236804 392267737 291721155 779346936 263383936 751417835 233550669 903383855 376066655 457184988 749519480 705752476 132916804 646566913 510207701 354394165 646968451 420224126 538582540 788936077 328886505 438233382 322352097 754814329 838161695 555483739 205212687 842686634 670376911 546120184 269538749 698522631 347554177 147216218 434421191 264021526 735142490 312847925 547709509 172163837 933455192 640697586 966377205 541541426 276657316 228826891 316231863 628718189 408140745 484652734 577657899 847694050 157612778 901708900 184895673 379602002 952889625 464728617 117196052 779177593 139095601 441444551 245718363 662537239 292758521 954578721 457415135 434890359 712303245 900105232 485107016 906601097 166563286 489388817 745165558 558472148 303963724 621438340 249608884 398090434 788671308 856676346 129530171 272683268 828798197 759284628 212056501 312947487 425728481 789799040 553812318 836740492 392131154 584658984 693917950 709621076 839658811 314382127 208655434 519630442 318032056 974382836 731269551 635666645 869184633 179319345 998207035 548770000 907672640 660581439 335340369 766119294 152026132 119004260 119828849 950807102 900484594 481428420 327491300 153055424 315093377 450152252 717053187 979896963 411824476 646432625 437650838 273708489 312642997 566924012 493744701 776979784 920933130 247776548 863179527 288829952 575113264 581946836 659404594 837974045 859589656 595333772 534768316 696050543 727132149 635435715 939275086 928697109 495826931 428951508 675273822 913249953 732174168 407190579 123333300 376134750 306446892 158183952 412046155 260611867 126522912 771901154 982549781 123671163 759168144 537973431 845874272 414654419 813855799 735334945 911707421 950475668 683772241 819296563 544768753 662657590 180230424 752160256 946128955 370708954 772763139 349246042 636836265 694589738 849536760 996828290 982570436 501820217 486699176 419830814 817339366 101199255 291799855 428500489 842334315 890988303 320303729 588213131 117651961 349345069 605322488 210232073 499504025 416618926 400495006 691249435 671961663 200775943 515221270 526097539 935838320 340377513 785250826 915314360 311155229 704101304 598132506 943327207 791313657 897531878 509412211 401080749 364550113 648816164 252279676 495615030 707143011 423736951 265502651 771200425 913834873 423798698 865839122 567761615 307141323 313901347 623593078 864820422 303188264 624242701 147795636 538263963 821775866 301052136 266932177 304630199 692157692 387481788 668489121 645743475 409068999 803066081 736148751 387962799 246071738 570446655 219054730 525076715 293081555 645287084 627124442 160596198 705855214 896374230 157947951 283936998 502062375 153494547 750170630 641293201 413093162 653950772 175511910 283231218 535111653 658193159 762900650 202490129 841596057 808550510 595376466 344467939 677416887 285606157 463806802 753472684 203758145 519043672 955791016 478419007 696794066 555440923 449217265 880296426 103263529 508091248 393288255 193833191 224117113 598936514 745501158 445818669 580721736 860749360 130693407 356603136 369495466 608854343 491234184 878120239 610545958 501356319 277925739 956896930 142081087 725504080 193636205 442088092 812333252 522689274 810332441 114366477 146797697 693573773 720419567 116256878 281646044 383624704 453304071 243266141 582956815 174783912 240146406 944544327 854839767 386187281 509417771 772015465 119334302 656814999 150424079 690405245 890249114 627918943 467049780 809846748 949537615 776646706 908338957 190436169 278123005 851443362 879130903 302466052 943047487 401899821 290391465 940913339 900080592 198048777 666611821 758477230 461339887 629872511 315959707 945639988 401175977 762904924 351057911 987671832 177933156 979161406 413382649 438759591 570464100 273729356 729753573 307421557 871838197 826625014 618299925 386573203 833256479 983341221 251194156 683888529 205139605 476269371 832186423 655274617 751939312 373624590 463357612 171124630 931831446 491712756 978867089 604405531 465363964 195842140 845660671 384284409 526171656 696052488 727561199 207261484 732849080 652786354 225286569 487865178 793503161 371472232 771161618 806199135 523606238 845629814 806641790 795097805 649859686 855423904 828835777 766047534 295164516 700047132 558820126 988317173 521049996 325443723 462246929 439798999 720633637 107067509 969673283 574134067 761289994 496590682 179487661 755059431 657460956 723676647 692338552 797187917 699491925 554499681 757344339 637811344 957246169 761737555 861855654 871668583 330146384 672519547 477561480 293227213 233240204 371145248 651959234 461420179 413547071 189054424 237317714 302735994 412102216 699887252 390944351 856125683 280083960 263642632 670824092 510107130 729656833 113916546 604612225 880144258 824211897 915799305 963911758 854973850 796598826 791784365 783483361 982846739 833119935 676579243 126382942 166626666 228091606 217472172 997750912 570838050 617156982 160140643 410758751 450355260 746728187 490577221 113035829 859727857 328647432 254343616 667456787 361094534 467549737 143442455 948025718 659718129 887061536 201332144 726909971 315104995 110822900 361698804 952993319 235716429 455477236 520070901 400838286 917920066 974023144 210154234 600353744 478896252 930921262 241902231 284222446 234099510 841531945 286764215 608518896 510165702 720868433 745874804 287520549 459346802 963412799 473389859 872732370 525722908 787182520 723599364 828626090 275139666 123769260 464569529 859721666 237678524 415138634 714862290 952136509 189238593 326164991 501169128 979585404 170432592 703028022 936818335 110967124 883642166 649881775 963349283 257050658 853709622 579209262 266743663 671445366 936744624 536647922 623348548 147814713 461581915 815041824 830020156 540310777 833377787 310936562 790964979 439537530 129710891 611095987 156929516 183950794 112770618 320154307 956664643 212936349 417745474 164610504 610759006 648335746 793443653 215196097 265326344 850751978 201911536 762541744 546768203 817652741 884737825 432650104 751540422 388966444 445371521 531260038 270636324 416682320 388539558 412924563 436043772 703845159 611240191 567633385 724673928 156756202 773614276 407892694 834466734 611385482 680851438 126468204 317436410 167891780 222225161 118186006 117831392 910628808 572063849 677834173 551910184 946743933 642795676 280359915 225577777 804224048 164535376 967302298 944358511 983594145 852143940 196711877 858590751 389140321 287297728 766257154 891564316 488633706 866968613 597008864 816195705 170653538 403355910 440783485 173030742 127302538 550332264 919666378 225829765 384162791 876757486 851801039 672619674 324475848 104163426 317915389 166963257 690249963 283976743 213645791 602348625 199211282 834728278 576519686 605980019 338340374 843468419 814730719 328283980 575531733 700045280 458797533 548020788 841259807 634565086 730416635 678640585 655239436 733188062 168639796 524077611 505170248 409330462 401879408 254361788 883686762 552782970 616832270 821875568 591260973 935259787 372421793 767101682 913061027 213237183 249100222 769281344 809630102 377921093 335988424 577865775 174971226 458598863 938112576 528108683 650305500 530317320 397818223 158477308 186452970 612913536 949414148 184219558 948331961 134528989 275681549 192617963 949927231 723306110 771224380 523467210 359256684 690084013 612210941 542861788 786022516 398635851 885884123 547004963 875267596 349193062 801115706 462422985 559679415 957308931 184568100 819936414 537404574 966930964 401718876 871900610 566454428 953129757 961768482 265099579 430937846 966645146 800737414 843586644 761905914 872517950 303055596 569262297 171860525 715736498 957915081 838910964 637033776 414943747 648586980 240918548 331156321 154340523 638421183 200170066 742382271 868282259 146230413 300958089 636133376 539757556 253975361 625623641 948984207 175813834 852900412 952809432 613160012 438844581 328154242 644796987 678469555 429634144 385763449 724541673 827050947 546288135 595951694 386220394 394103281 517623905 729306092 765912120 626672984 122089569 966389398 453617745 302650716 993189730 106201206 361169034 410033521 254997974 466790351 874857408 333267465 503412033 977910050 236611954 381146494 424320381 160227360 409508866 130070778 799123097 571265956 514811434 324947740 914783681 825343972 221203816 244847148 449731266 665023947 202000527 589786605 205358480 308611333 808610282 141584558 487462084 207708327 166144447 697208562 828704524 955416935 336718458 955247180 963974945 832473629 748163784 931093122 750987210 689515969 955113803 666081800 309900145 800443315 888953806 800149882 807339024 305554587 594958382 613489968 384739283 473497990 864276095 644820123 961965638 946518600 746581050 772980845 647175547 363524573 123406426 836987679 102558065 171383324 643324384 636107759 301871784 568337834 245225880 956167405 487334150 577606753 366889820 800403790 960689626 588581014 212421894 872499867 693053037 156422969 622991634 273795352 351666280 613784724 302583164 393001331 411473960 399334893 696802237 917930070 895264100 592747897 917544565 849823371 159170795 330809806 836550572 227764843 197197975 937306033 716383509 587142746 290867908 998019823 610478536 256879221 169667942 926611845 602472507 607339624 317263451 933540297 811838692 215651946 125574125 734572573 381186760 243044401 229517043 923406608 970656943 940974128 536208001 822809811 957654700 875599958 450306474 738671092 857978685 359809523 269178540 481873831 512428835 411519445 146670426 792563292 374406100 708665972 526437736 397957813 326044213 720154742 351562112 235874501 864597918 676555422 673651144 462247208 483829241 590498270 669342578 460755491 727883946 517538133 933006370 741004316 306601080 335678625 817565313 207873577 593631104 428490644 824292031 407931657 903408842 628153961 273202735 723855747 792176820 239196685 468735858 165400259 697383518 802327652 787078286 693588372 181658321 882582055 546437027 824787110 240694189 735984554 315051091 222862230 680204652 607695015 769176607 463545535 616012008 721981905 580270472 375730469 887603051 100543356 782836625 281159261 375882023 967482981 411638544 478599224 912335328 628049814 558468012 348386340 223218149 982344215 731789136 294692321 605671174 724538353 825906598 885948988 633113666 774162457 135713306 938492882 515305341 857346396 488497166 126632081 632756149 616399367 225230467 867607190 477457842 314614513 730606859 685832733 402786248 713201920 969651570 882971355 169407386 212258379 209192710 104517030 974770804 640378417 487502359 892167598 621174342 924070744 686426407 514906617 609640960 256956292 181248233 854481938 237693934 428549543 637701864 514040464 341625908 509342122 301936567 740937728 845842494 113009286 664864324 178579641 206192719 282254751 380902275 592978916 608218795 581520195 366839220 780864342 273642987 189979191 656882672 329515988 550339883 459039224 712193352 761523657 154326317 460488198 530305263 293274769 738425501 992534190 918566261 134571228 273016293 241657030 396401340 129465447 688080080 925263921 170352222 471523879 799632607 466992738 978295222 772719658 897475542 785249905 964256426 314387602 172791115 235671301 106062550 929232097 940532116 450960443 775290252 606211048 487719004 181156934 602442940 375842389 118860054 954270544 355039283 702069790 927378824 263792270 497739203 404358412 523074772 225881610 897463165 904791225 880321034 379486411 809651325 322342500 221508773 303728721 615925835 822885600 168676967 750435180 487592575 138932771 237269347 372528707 628687158 939883139 759104017 427806198 249825537 557092201 550771533 306704336 977903541 850002896 344118617 338652442 368873612 915274215 129882220 683779372 611188820 477603588 525363599 819296741 457883600 560139509 634565513 177664986 562472453 522789182 851321296 140241875 373582148 268676569 734075813 239365535 694012944 807956651 974668539 261994739 745341356 454164871 306241373 632439484 189152427 146359021 135387482 286392242 564270422 560060826 278019195 577384560 301008494 219582020 620035053 317060877 220991570 378047318 675438982 438256516 836983407 956966376 308667055 244795083 446452734 741677003 776564872 811682234 562244347 919023160 807591295 944798236 587119225 334649345 565062717 287443149 460645501 829979684 447193785 753522498 828186310 764603189 922946576 749940171 774783763 106492919 229548510 528153099 371772447 976443879 212043294 808034807 605688668 939257923 851020579 174148028 837937013 112316894 901399802 521330472 996270917 625279578 319973743 984112961 395132836 639021284 132290373 561641012 341501774 206432065 697502012 766666204 276347441 260965469 619280012 417190974 571024723 788435366 873454228 697227115 799832060 243710359 408748558 974741856 593668606 479527886 219344449 593621129 718629563 205970481 267818734 721890585 280009781 720309490 899295531 407724281 902198507 857966935 671534810 593644309 854000573 497537098 938068870 285740700 551935379 973894379 721754514 105212998 853134036 888488349 509851919 584074116 279083258 175104043 182223540 898032808 714544079 146850116 170916904 397926046 836636614 873072453 545918957 147919248 391877405 136235784 821056242 426157337 537759571 218866374 227993707 111940501 304904468 110499155 925116787 590287644 232878184 541977609 165861178 188844305 537973859 695319742 228717807 935852812 308931125 493407621 635819998 292592462 811731001 917821044 343433394 835241944 676104749 182819952 523744541 855321768 683795845 386446966 447247380 737942639 956490803 574285869 733029602 175609582 830960993 671887111 978891823 106665918 777322014 791327219 308347216 306906463 960639869 163358053 493953913 992090410 729066601 224785905 180912617 144177105 839382739 364882257 507715218 320974462 883050726 753181144 164925501 805413898 798057518 837137346 968791227 660646484 479443444 647373715 369463962 861634849 690820971 181316510 989538692 199064916 832923074 976142676 290000035 508422540 537530921 747242464 383910846 214273300 378127505 831079928 419709076 251643628 496134800 982601102 462833063 176803188 428573489 835357512 463437481 125873855 228855649 126394344 711046376 384983736 976906357 425834202 798663348 984285819 239633418 510927900 273205361 690085348 853602861 398137509 482382531 638468061 278418305 532639723 149360940 818666610 781327778 484084265 670142790 148750290 874747904 550003989 718285657 782523595 488563886 439862792 963257440 417213167 779105939 204394733 228951364 634941431 433988366 785945439 349794469 591768181 288766770 864827940 643415347 293216748 386331601 739315124 144381906 485015737 125454928 244328080 823475395 271501643 749829049 725382365 867611244 792405441 705568687 537829224 564685993 765870486 984408159 163624625 999227767 113002447 823556399 636191252 493502441 226098539 603632558 326113373 901643406 296398371 409120133 854606746 110986781 562511475 789884340 477942144 679836106 707902099 687376245 620030375 371910693 800838878 514113157 673951472 904994311 694883096 276603269 559691835 548529598 571736259 593719637 957572338 151115200 825500853 888018047 649219750 403996173 723094546 746963019 950555893 488870149 950773282 345478078 849439824 425513244 687078739 506454197 808127454 478535615 429486710 451345060 550695065 952109257 358006346 397364450 787522478 659251345 168257185 139847636 705226174 493756225 241202702 723239340 320743201 696541222 593815590 443119886 632255658 845790863 351030818 363890105 147424986 754734629 976742277 175253746 194244762 492004967 983774786 410676767 196882934 695981578 574033612 554759098 843815008 519194547 641528900 991481659 469835448 545711900 397327690 791825769 359529972 296998349 968316149 904020642 684969191 861210814 259422846 281261412 618598980 341330920 733157748 852008634 102759158 886920778 380735510 679029161 910559144 649976306 785838491 335876935 436276447 323857621 776600020 936254406 394353635 399544127 751156195 231662751 887808167 344700260 539486739 649274878 124285297 505328395 214797128 706592400 381065191 744202135 375545530 106061111 467554951 157509138 934850058 893388664 674675952 650381624 593627081 746593563 968953968 647724942 330997731 397104013 891153381 218912495 781330370 369529448 553545333 788997029 716475268 796000962 950873591 890750343 820906939 362257474 823584380 515813699 696285546 159028971 273493427 733792051 922586472 483319701 191810349 530324961 369096842 479447287 816286704 137912081 905368467 776576912 813972042 440546608 884607701 930996777 537394067 317345871 185646029 775566742 916399646 387268201 360976506 406058913 784710757 718535337 298423986 853791920 832837800 117209050 679197686 150845362 888191370 852527234 742364931 819676980 379624708 778482031 421171760 115115732 201041890 688721647 530840936 838673741 328754179 857603898 357127811 277309749 928563610 321428462 395478543 394063590 724250713 342275996 733420738 327667204 116063834 135083123 224703024 682188510 628414787 766626305 311162703 890225850 490252352 819868605 364718281 511574215 490009528 618707263 898214898 299519839 942891364 179618253 426359006 291828098 989824438 177632473 138949446 780794765 434995021 847914224 329170233 529402781 871289246 758567341 714921389 291978769 930172351 444372523 755066234 815182758 160742726 266106486 745797688 806017773 612579195 470197529 352629662 630944550 897051177 411922336 388028857 463896225 325936163 757952864 608504969 571371040 853848004 749689776 309763667 123126393 196443989 305797612 527341006 423563226 603182318 578875031 245628268 820327938 425698762 695488236 449135332 167834167 608154439 668382586 745226095 448298309 340875731 297984442 661403600 879934340 944379537 811136704 474634216 889081110 845545326 540213718 178042733 447439810 991459876 165031074 421759826 476313152 481751748 651759347 171537685 178927956 519398360 533630307 137668157 958104731 560613362 494873478 629188809 287173824 572496199 143358810 650972917 671816820 613207241 532778870 670973724 284380776 777047803 507968478 433020807 380279462 876689969 349177908 553124252 351650767 458098894 561934332 478447622 155202654 197685361 207359615 166981043 738882504 939253017 873672952 179320073 993755489 706296129 230424447 425995743 489654279 343866169 190862320 841914963 192370314 489167615 680924730 289646531 190795748 596826857 373980214 366834868 193416688 601541362 651664227 703618178 166163708 405804228 388237070 525543451 251488222 805961235 828855726 424738995 543573662 131675874 376370852 595627923 453121730 143022488 367442278 810806930 565201736 985331270 290821788 731165304 965562491 131963982 227615252 520535000 167531206 345237879 490522274 857387051 626585288 941373501 444908768 391726681 307715443 838125558 447348112 865093479 357497682 174347931 538013537 485184189 948912804 917410496 348438619 783597746 441326128 612962095 503749477 876068260 843382292 160058964 241631574 190274489 829283630 721775188 387570640 602155333 285938650 737136495 127675252 645907707 456534024 946931356 529995627 571389922 136465554 297105417 924630284 839425921 377414118 986279285 203093597 330435506 163683708 979376546 725921366 731346138 342969808 363237161 285046486 222466875 418311195 525373323 388198602 284896761 868851404 193645104 847005251 284853928 685479817 302236528 323694197 721336681 759485108 326503303 445904556 680477141 855100664 213184101 240822540 190917897 968440986 256378849 665832426 792645478 171300395 465596063 383947406 116444514 722831433 241283253 127454180 592726143 802475471 143962947 994055594 504750214 834676639 699688298 689491119 337000885 540891105 225350882 962748480 998272114 333727791 889692947 818504367 197928604 137084791 907629533 681554017 231675314 466394753 870995509 694133755 187021503 645204728 210446724 575072339 278947433 797070808 430497231 405329201 371094916 194282534 813991726 389189376 768737355 206301048 406649612 867018323 245377962 371485578 361127729 987039439 282728037 475867419 433705341 532584056 158455221 948648977 726617809 877454230 249042985 691192171 800696060 683814208 958895038 246940598 595325599 151098011 120185745 281600030 531602981 224205601 632590033 245778387 914055820 156049689 333571873 566625350 885651064 675836191 742328645 614175821 333203987 220184029 652361381 316139458 454168059 437830020 182516091 225888825 626187264 449967807 271354868 737940178 506674928 823737645 533320841 124552050 295514847 902142844 187340244 877182663 503780955 310189573 832070764 337606622 624332060 382482261 572111638 358536611 463254483 117420821 926725828 798273211 887723295 970370120 579590203 175353436 932520476 135229080 838313348 525747824 180329744 322486668 912602798 890210398 644661239 478156240 242464215 315662737 240019745 484696052 701327991 270609139 425454179 476665825 240661372 554890672 685906839 209709507 104117153 860760381 584420856 577070804 809251866 506444514 650603792 659698063 111094466 552911749 729081679 872531381 425272771 872569233 282245352 731285194 922362358 994828365 353575377 759632052 836041659 695474899 261188910 134321875 983261656 860407014 836243519 259435572 691011083 818700312 388973729 135662753 563316578 632421765 982223897 142989053 802066940 268538919 806291697 366018273 488556591 389512537 354892744 372539103 564710362 968368838 882702035 714897556 867591929 904994868 246616122 688492746 894713039 870609130 144836301 676614824 910253907 185180761 103512627 594690902 411061621 130213126 286795937 300192747 420054989 826881039 730295077 768201013 588050094 171391823 241410862 358408572 970424745 847480759 227177997 261520137 965083477 311468787 795874146 643703817 892274590 533741786 234419941 638588773 171544218 882812552 206227545 700844789 451116438 747797499 991864438 379288868 284754702 354508944 191314321 667822156 344851222 947984159 423428345 484254379 423664367 215798888 757642249 256587065 972057999 464508717 455182345 873059484 733613952 767611741 961762512 343809994 239550885 224594657 201776229 509192196 929082886 427335380 664262420 694496448 132678673 948732061 278533302 736759078 888930925 646878673 580874571 337016553 743867063 376995647 175391594 458830828 545050807 861620846 140609081 300415895 266533057 858047613 281637481 316008356 502380651 506824172 180749342 425808432 999294461 946115910 350191197 141660679 963345362 391840628 537941412 386646060 403404851 650963282 656209082 926801813 717982573 691252289 568670834 564024309 627047909 231226788 106043987 853637055 253417793 150631656 865722761 778668972 963948020 915102752 202725115 712084651 818986022 936170220 869361575 515691418 634174471 548195540 483565474 933222002 419137576 521277612 411685340 819830176 312056336 263296765 648401857 991891011 484697824 935470023 688063871 974425775 955281397 278148579 755869567 413038477 854462657 869475961 608155422 854067069 966485835 788837875 240565149 526592237 854097195 689319754 606892048 536693171 701241951 155868107 604915227 883861731 267267605 662273249 698052853 862300966 176790308 807262011 208435864 724133033 694137569 903721086 471816330 785870103 713598196 114976487 681258641 887447545 498439188 271314681 870440691 749683545 423280757 829080931 551910934 468414779 692085116 418968501 763244795 422350808 142691202 614712272 659886732 198462931 627931205 220595177 254634325 389610942 120007596 722844208 812305692 624689581 363884224 999617746 649477172 167673322 631865056 820766879 276352292 141362045 761043484 276389116 350560558 963187792 465001566 807223295 713457382 444795507 412953207 228291795 590501184 425887558 916031679 330411059 923761484 769748525 168781424 312953445 401402914 102349892 286675385 166403345 800309564 319483653 452175282 532629119 904485256 957696737 598795647 358033966 207105542 687545068 137738186 291388347 942004912 692409555 152859582 881649731 314612369 845784017 274490469 192834722 381033528 102628589 385952441 963375420 906188990 534677722 565266608 830222566 978695856 718521252 243497195 426920315 612168059 926687028 383157392 698646727 216121910 137115174 439205957 772240961 284661492 797440989 278518228 820428156 434055510 650685448 617022046 843494676 380411496 514563061 154287875 271009314 666758963 221761904 473521814 704359175 742498358 976416155 363398981 412128568 526582040 135470347 127127069 808745834 821247007 147711563 870391479 127374839 311653875 693792326 569811337 521235592 706448054 388060207 434939841 318921157 187785036 104112709 948358970 557312926 870147919 998146288 419448376 263591336 836641981 226245646 952735148 317929771 378649658 553567916 967534401 210919939 484307532 541665370 423513494 276562896 353851841 545488338 802194547 771758904 879470021 162546267 830461281 810419105 443447661 501373153 640252735 238681605 837166800 841906115 244544257 791333533 224248096 847973344 413171431 588539626 746363127 236781771 374800834 480853413 827244489 762233421 180355072 500457909 401106593 917784227 540174061 533829231 405974687 658344303 824057404 233343687 858930427 561360405 406564240 228040220 909588888 528801667 999822130 957358228 937909395 677597045 287053831 313140876 793546773 273262637 918327246 370761193 638476561 983106497 497361507 982926455 893187896 631869216 461932948 260467123 146017386 856981537 110774988 170494261 826910863 408926557 567379487 728816352 330617755 433649848 352535183 377986447 534366930 836356283 409665872 733255039 655746469 958172167 452065213 230442878 780780606 347841706 640111657 254914039 356484721 420307574 115292657 909175025 823940003 869592690 753411766 483347735 793978346 669483661 482055020 397250252 884476322 809116661 498558985 302921503 497223975 550723288 431319387 667405978 506146463 648417039 162700827 131632826 209135603 303255981 194766564 902576435 570966222 197249046 641702309 897827281 643939829 895792601 311678688 152331220 875789001 345150743 107076742 794381271 209277784 866424190 830848049 949057962 845547670 592638548 257443680 284589439 973075502 703273400 505642887 668592187 309580592 432160203 932078464 103967280 143929859 201429573 814136158 182478177 424468117 501634833 207985263 488337524 155863533 774568639 337835554 518616883 881578579 942535399 535926401 655510864 531955036 420247653 506815701 375206472 759831049 766092943 803666551 175037063 649096068 685609238 415142921 536075549 904214731 699990021 454545893 568507201 193552466 465713837 146590598 881692984 862010266 103442478 909029746 367250220 792351142 422411713 282039965 420914687 613150775 572593186 671283487 225082560 251256702 479566985 898317148 810264911 375703175 832602924 990774473 283316403 418009720 512337617 680061478 849103534 174625996 686931877 124196279 627139276 742400387 778358586 338452037 572011002 148881173 286248878 565815605 981579278 310717495 930420211 793842828 884479852 759865053 674142117 134875306 956143950 844742567 705506763 499955832 473481454 420903741 123543230 842033834 230339369 395112379 227831112 610473346 782989251 516814313 760474439 129010970 516476272 320521743 647428843 630356692 424486890 485327590 888681234 536593405 665449301 884713637 860200891 999994188 563418043 236407586 358778176 488657431 977940320 869118164 108692349 863700559 517226543 536927895 120983270 985400637 503830886 876425599 801952879 333241858 803919285 763527662 877006256 343784178 675497790 301145271 421048296 693667377 487115862 260114415 970060528 321294175 686547979 841109999 349771349 987768770 380899815 384195695 515921935 141396755 842262186 445560280 754947993 124169694 663621693 575642492 370765483 886686760 906068632 435030820 694158211 888149659 961635736 400123202 432745298 736818263 326108471 659303059 738127157 205919676 866015952 601859306 180503874 833993926 587869721 679754466 255714176 932436237 169976330 961711314 453695399 119074926 358821345 557860433 856919532 588910867 509168227 386383347 863960455 344994622 171329013 418004903 786449177 465646095 726129739 249181966 142307245 290766474 908204821 122441605 729785682 217879616 413995200 774755604 430874469 937170249 550091898 507401045 253597816 750739875 761188516 459900487 353569477 949339724 609024463 421449683 603079303 157926220 331906071 456009134 545638800 154178336 196527938 179185897 814902244 266125014 704661319 615839991 608940129 740350212 497840059 967449501 434126836 925159684 812936480 664409677 360129413 936997326 120875376 565555154 989469908 284275033 322557065 165342450 416345599 210575086 509644026 776536835 935353791 854563183 298797005 472691825 990467843 347125565 234229470 563288636 601896676 534263460 147907267 757277460 599262475 655595119 604307466 545656045 228959132 660789448 384396878 359291443 737843612 697499124 994716567 989914730 982179504 907501884 432819702 219086767 207840831 389287599 177789366 725734442 604871464 349346198 151926895 295063773 604172601 306065860 700877580 837944280 401914560 803129281 530926304 188092937 453831675 456662993 122807957 798088403 152427728 589340098 514631870 242330652 550962194 935395510 993023938 120739704 206269226 104988081 227279607 619734675 682737808 659722170 164686130 954738233 182962657 916856766 465112965 647828425 846804528 394409412 608863912 458788140 164414349 882776560 781715980 527006649 941302396 619973235 304369040 445213835 166005580 915795741 674533888 420039474 843454729 766075716 721461550 153330763 769959662 617028168 997408796 689587131 792385861 667237776 934642373 776088895 618808771 758362611 594051343 187354594 517901810 789940752 747317793 870100407 590522033 712938743 793299312 827747661 618218980 642258776 242261449 561863117 296358440 801333310 995432475 841273173 255495080 119401017 382599504 625612961 176985468 421093222 243630604 333257501 811305979 680481419 487936876 742163763 647742492 898233159 455809687 821347652 223949422 227548635 118380993 661407955 793526995 746142463 292892755 720751885 930469081 910632840 185732573 391410084 396057814 338921121 696343753 522423056 937880016 103431349 402235494 236417376 767449451 779827939 847381842 325053503 934100794 445194354 870430389 162949336 414017438 515531059 129373877 595023522 706555616 942457730 463741000 570403259 994731784 562794025 384637980 338989118 917267372 605803475 704668253 107875117 822298941 894234892 852459679 245696911 700071922 292786243 243247815 903594712 343603975 766691595 740295457 288169631 981102467 454615519 645677970 984907071 272873115 429536518 824626329 723500318 225458986 262936190 692042916 984912636 524281706 836916915 250168655 117398520 742079206 721364340 923905925 325897704 985547484 982458858 693304322 782732566 598350805 104338223 220648945 145067132 196333162 834812203 444764379 219675737 554572120 366578908 252589119 930079289 496305072 195660969 577133742 293896192 207185198 755905024 822422224 667525389 156926864 437243221 546774082 490098802 177199718 131331379 716989605 785248948 775929570 956873850 426654976 450615798 693473532 100322473 376656776 339319551 813934811 226803105 591173088 888637733 850106660 907145105 140731769 728458038 460757962 590245169 387655401 134950780 832737363 504896943 759588743 721130528 489966391 296404464 963774665 725025225 495518888 328461376 584574857 355422021 734010166 700729109 787851256 930488626 631514924 816358163 326393345 270396784 627530864 773087156 368975762 134041271 212111975 953195935 464800768 331478565 587398433 505270312 202935863 790029864 216897907 685512583 231977288 970906565 313136392 263652152 101657773 115380845 575680365 584378238 307195872 167439908 439576474 182557625 479640049 341364996 101876407 958322853 868633918 191426691 140429067 520264753 881157660 233442427 910707038 636891721 685042314 688956316 400338167 329325974 465727561 814664879 406710600 817390086 342017483 684491792 644291656 776326803 785913356 708791922 948480088 533257987 870167373 315691339 757180704 920129892 410593480 675416587 547597119 188587625 899308613 463104722 706484202 567044670 668902536 360180818 543317200 859287913 676094324 257619760 414201993 156216804 632015019 156114809 855023484 966825709 608868228 478034552 924906030 696277819 878644245 630956256 934599059 913403603 644968550 385531543 523443575 453145561 700451133 505914393 259040410 661573763 778060176 563713994 936574386 887606811 738934262 797773555 165835023 420305286 826961985 797729340 626853666 686887014 439965726 911048294 304599002 973130976 392420913 223543592 339830279 267813768 268341291 812520406 906072649 273339035 893287907 938396048 192148186 243341376 298057769 401557969 371761860 355731157 168910001 314789907 126563164 170609520 904484925 772691054 454678144 928516422 781678387 137795807 161220700 650847010 197783828 925585758 684542287 180723305 514279031 951108176 658912573 721171498 133921101 378125812 915537344 775777407 434412129 417691203 454117462 295930526 387431800 580160286 269534951 387062788 704438220 815200698 199076837 273951156 382368127 568778416 959283493 973378428 247444131 351140404 205315379 118512705 521639025 800276740 576558642 890718764 951914534 860455418 167647479 296717347 918577318 416401690 506924076 285961874 176812158 888264196 216057082 969426594 486675228 645485491 154301029 928283199 612930982 319516820 585723268 218034128 142155785 941801770 819597015 224505105 957320163 598858346 821485658 453277290 440098285 792896550 143955763 520841261 968986635 958471426 104113141 898815409 919708137 557743178 324923530 956606061 851406171 372040944 211470573 725799259 808021503 235452162 600347790 209899876 872467699 146102235 592131402 980860197 704731321 191230292 907676747 332616028 960991053 898591767 829075516 955249357 694170756 920669073 600655750 248152443 900535810 995572770 832636468 367700805 513643055 615211041 452045582 389070522 985408167 454168504 448956591 837920568 803941209 577622007 676964011 953366787 967538347 953205603 498344688 549408822 240690476 602700609 283166014 483065432 501730243 571422860 137736347 560619898 526990755 274331406 983912297 494196495 510466999 293888445 481556023 664369926 621509917 661583589 720362795 647019534 578230302 876489935 576904414 230857777 737282768 171905844 221268972 718285855 134168354 382629926 436680522 188366369 165862657 875984346 116766530 129742065 111092960 388515130 121124961 877613208 552419245 599023271 416388645 597100555 613175125 384080231 345504086 314535647 618037805 686080742 192860654 350548328 771025010 685051441 127584240 232657776 140619517 653363199 143768210 902986566 323946299 291731926 704943614 769472257 657464893 424059501 975458944 120680023 628897651 740515050 585892815 200602603 864929717 964537166 824241218 387856663 127520104 238108469 827852850 416402916 834653898 963728212 107655522 378571902 290489711 836818637 313241494 164165147 706072359 466045431 256614798 815787925 988307398 379615877 648115575 160728396 347344986 950678854 570036419 281182612 598268298 424903878 767892545 104597101 987253102 863683589 183273708 327919447 713577938 303397404 265504993 383798249 492723673 893053797 233355596 888941524 148954593 968517078 745372981 461888533 252067230 612975394 591985027 661582996 334773978 518684088 297557552 106521326 588911458 785496024 898860958 583624498 764758782 745944970 785243344 588827158 978362299 748038470 356802158 839744796 663845526 633223269 803437495 549361495 170969914 904987003 570738997 559992143 987084261 312588213 588558670 678233515 570141563 869149161 416344630 932128630 952703201 770837381 715093178 921514958 762343471 145333191 323691873 458116800 717415817 650183977 164007508 158788239 584570406 189078576 878662023 776961487 415554446 633322731 984290676 492128318 907690935 350577653 622763970 401696551 145249146 676544237 928961872 114084988 550192902 967570379 182573528 261608024 903276586 883724549 854719717 522723807 814832704 990640555 162289296 854898846 960461572 323264810 773403180 122154504 818798894 668185673 999137812 544018713 709678675 562810962 621332623 391874776 287207348 957944399 829996032 412759807 457003154 718590302 134019453 354717908 260657597 894776181 303521490 973105980 192542965 154614898 804313332 531093482 454525299 497278356 641734132 774031033 988482499 191680783 875918194 656926808 567584012 526990278 980036427 750533353 608729955 852073726 415966294 560252606 124604489 292452106 896426857 334412747 244515541 978930479 243351046 663221052 631496893 275768470 135154850 445062592 424178205 895248901 748165959 497814973 444643636 167133580 130190167 291731895 997171069 750235711 388135260 932859325 179207825 685992688 174742697 558379233 305366380 962697546 495016083 526056294 551829780 737720844 984190864 879965188 609294047 586411951 134307693 267183742 913795898 373746824 209024782 144928582 115167503 148792333 467603179 860161865 537340545 384077617 339448054 341223781 319455491 406057579 206785339 800564112 353228814 126305541 682958989 558542917 345946699 956038284 806901534 636189540 526019308 770175160 838657872 237823456 333852041 285901329 333837613 819545684 759717818 691340453 279736161 836329550 427608553 871785908 907728072 860017402 512810688 549020274 280747890 861955272 342000385 345971913 467195134 928861586 404651920 804067858 319492759 607421314 162822544 610888785 418689671 922702845 493186157 400418142 790460583 158404240 661540507 738793069 394449669 922890321 961523195 137013508 701607142 765802900 981738818 416973518 552902981 490472009 951505083 438145626 559912807 470354003 482047067 977384091 418287146 994611320 159218087 837569713 901570106 736528747 990958676 151059554 350950992 486284176 784480724 114131126 221297801 271524008 285494753 259625477 460712697 522868613 192742374 876274730 218400553 512224624 152060840 788087477 688433227 115830260 865078421 951961091 575810908 247032567 345001613 708095820 711949653 567734581 953252169 773195924 208383632 123718750 929218892 130472462 600801062 153258565 344999488 744092906 282262603 235706214 246219542 392628150 914296487 904951171 462364923 613629765 474486198 320464621 479543796 721573695 108622800 744995957 891112118 689734476 427555125 937011355 627264416 753438388 622228077 518144104 156870518 302819036 571437848 402918569 681046758 800177369 586095694 672220673 808389964 623423037 740240952 367914333 872863744 863785503 352814716 935147254 735809210 155757597 883615685 822473960 786776565 348687815 428435773 494495278 475591270 642457014 384248803 102044889 447452146 753318947 812285939 361984858 260632135 447218815 812386815 931044482 343292747 457490636 387400822 964100322 484095755 178557617 558633223 827461281 331680932 895367680 422422836 797844304 547647590 793490299 387379962 369837129 677825675 296624998 154743633 522326433 900999936 386585527 663092368 278958989 335232248 923545080 585693832 612755136 711943029 604774553 639991642 638070024 836003819 687022480 798046108 774603749 199863893 730164656 142649752 702626769 234630615 966579612 529334432 980718255 730363213 425454020 858486875 785404959 400960952 681638034 441002880 538278033 553251075 140950776 359216643 651004865 458714755 835641273 578204522 219760089 677270039 412098703 430220654 643542172 197485828 379170340 893636050 326557330 141317830 150065155 491692843 887632661 592522136 831123781 816134094 588135755 796806896 297409390 618131303 485432047 377229812 712445313 922824513 609439225 790869224 850084804 193620701 718539891 567166676 840255419 642790985 325091258 922359691 670220668 904977412 955873583 292759717 773523917 899856737 180136058 395191009 991241678 959723009 299905471 853884213 706942456 221342672 958638414 851899580 885181947 985015992 375024161 549664172 507409423 669619762 289169002 222434745 639926725 367342997 861142017 794343337 862899143 198782150 453232916 922500906 376127242 926151309 621055882 247782522 486598231 475605183 841015958 502096627 219146986 753860570 509280168 142561827 124048781 354627084 724465129 572012722 168128424 440770584 474482653 140471606 802251593 241403481 859836147 998175528 336827928 362902279 142793258 443465285 168441702 786255794 443604286 610169924 846291384 575870128 802924137 840804590 161097096 488960141 260936284 431204641 370805796 278828050 291416846 485794112 670831360 752059095 999566313 798818106 159739252 149125595 997752371 792931361 601256688 642817563 843137607 882029128 286404886 386125116 808020517 731637028 552543833 433026927 461122449 184189946 245834966 142862893 367924825 635487516 471137659 540545676 627201014 356174223 631866689 964545470 944561431 909072389 639130823 369177763 250017359 979132799 451634826 649249514 597317516 901421111 891222925 257425812 231947289 871950825 872993243 579132128 364293209 839146085 223627463 784226547 506236043 539900245 348112239 484061496 205714044 131550801 888989681 208956323 274132181 415558365 386741512 330076827 701874958 125158949 469441349 501745497 668037818 558419558 356987931 219114078 853540702 138564247 921383221 411076542 160821672 909859746 829161448 780439612 756032401 584150035 228435452 807273495 452652563 780970833 914271729 693487739 185209121 385446694 482512852 950060185 351237968 709692896 898034979 353388428 707483715 171584449 647140050 148165354 691252040 619806068 450213545 134328655 229274828 659743696 893294429 794929479 622678404 380713018 439240987 112333335 197784417 133193799 536656329 268748447 145305791 693862379 285413630 439517137 694214592 469592354 411742931 342773491 179611033 113329531 732246752 671350050 392753833 120523747 518595299 247712911 501145668 519847867 941036407 295827670 117638414 529423476 415146251 911719377 317170228 175156670 733769326 265784309 877323159 527049501 282031049 703311084 317226030 786705780 338468066 719394078 881101921 964705181 646531948 939992831 466638156 859804448 377184525 540253576 318691858 233392287 939347221 477079451 111681139 748127305 948683542 904628823 857945203 771405790 700612826 733008304 101910941 284670139 448451998 520817976 861282487 151321480 484584379 547136427 409916561 609882176 218686207 447648429 512288121 582980293 957652739 849571242 503862792 292031642 519994049 683386739 605999752 693607284 921614836 407908949 932874606 444365542 334864440 870492758 949353592 852890061 278970330 405814341 689275048 866218018 633676234 226702046 150586479 461936749 271528760 608456036 915836312 787591624 411442383 304752264 203024330 169011372 976701679 997693544 634022661 315272700 633550225 927213927 968235767 336746791 354935316 392172775 870679423 997180109 830668351 502228297 928812763 264998333 749757254 424612586 810443647 308678216 972063694 382780251 317480624 793257166 119321751 697441531 901530829 647295974 790549563 187652486 886940704 996180584 821329103 447835907 429884531 103562004 175443699 908239371 182956839 941425210 252568068 394094240 138611960 631726877 653620607 487258927 729280260 544817793 147525562 368232161 133482615 442860146 213497035 210595611 109809261 972401403 257470919 455658394 604272187 668763351 214498772 954874746 479785751 554759479 216737108 771452083 357074821 692388777 337142144 401777559 842255793 276174489 796471807 321643404 972328952 804250649 916826774 849354092 938640346 841931104 278271497 149725538 539410140 755981769 209771630 496319255 483363472 660307884 158263338 288327180 697551971 712685304 793802347 454170710 196543805 787557018 853905369 144147113 446679120 360684976 818162705 429265309 791429276 794526625 104288362 998795355 834696072 870699354 335514658 157665696 754889730 192410030 257121838 304041524 782160587 965633105 991086356 850430585 199601283 374919624 753013586 286743755 790376216 147689098 860867247 176584332 240509459 756964422 474235950 887647212 404569728 825885021 161714546 868381257 483721952 778441543 487139690 166379866 374179761 970760324 298948651 928273888 322924228 799717672 148971684 633687598 597225967 484652422 990979289 496687655 209946663 731520926 687667348 974158735 653599775 164206135 392348704 220530641 846671632 493423122 700237911 576388289 592590689 505333961 524564831 989451108 344606879 505471534 909201285 288465574 322128583 170207888 487109212 287480278 337396561 746308729 958498654 605642591 879372958 108286511 905442190 631834775 547651290 955031073 422748729 802585284 546385662 872391060 511220641 951244121 626596701 929995174 931063254 848940178 837436442 971811769 887867118 419070189 489299882 334451660 190865628 222564490 170946481 265796711 432092893 834571961 826421410 787252179 499893850 379166386 698317932 172831614 845674759 305610536 726465440 445953469 302160624 383131541 185555606 217192738 784692006 797431430 302196042 807715526 845650295 298671311 145962749 640930775 527431602 164819273 947881328 653636419 381135540 831874611 321773281 431915866 168917732 941967713 735782272 592099853 443061588 740795559 101258115 262198291 684478677 746750979 715023951 765881771 610115842 523241641 144131328 783584270 872397298 803408889 952089065 801676408 107221974 629364260 941229743 584397438 872647043 849516593 775122766 167592710 286677396 170931959 433564764 687875525 226393289 190817612 488298707 857913714 233749503 564250694 225415271 443667003 177989888 139921131 747583373 395384453 504259627 322802744 551707079 727180977 238307961 344683473 777567848 322073126 602384414 108273764 963817790 784835849 467788646 284681366 301498484 634068526 321428625 592094250 598314393 695713846 667034893 290553849 572240174 592221829 974251002 272973253 118419500 910507667 703110289 732690416 568139622 323341095 102070796 126134790 657313059 495771102 486479808 120800858 701288115 514398670 323216204 175998998 847405974 684350514 962338812 387786329 572105333 176875179 793388407 685826494 839357410 787948228 304721245 259856772 592906047 539941216 754327024 859322324 639961782 337139835 456830981 677207787 265225610 779968183 281033499 323202298 393356437 502096833 420636474 202325228 980905939 574385078 677273776 803848083 145700401 852546638 105667232 869716311 683778708 385149357 270049519 394495565 470668708 106092757 286072890 448860729 999122425 775672998 812226554 191302807 674490038 347265196 999422904 856958574 322962965 704544649 710781621 711220640 538512205 721424009 509010030 439234335 873642812 507487485 621631786 317605914 776613872 269119296 603979420 419347348 141388696 704103663 927681898 721356488 399473409 663289028 991010848 621322671 475056387 557789642 522547568 275576643 917314658 863268815 484405233 594690561 874089137 976060002 398215514 496693568 178532846 610066414 502837042 829931506 665846208 413656664 599631434 955724399 809237282 565607116 863467161 572076982 465486045 381306546 307425289 577198276 251042004 442911313 127376470 950461893 889598150 108663852 160334026 435474642 159763337 198412105 832757989 524537265 761523423 892207837 953018645 859297681 396680417 221883764 960488618 171104926 814669303 698297856 289991536 272510563 546801073 990882473 504994513 698709842 754833569 641786352 337031584 370401947 270852036 242169620 894260268 322085195 605651136 122635702 376593214 776385397 971079619 834052640 465545463 252271951 304114522 993798697 825363922 245057090 602339111 709806518 713638531 700849874 527232386 140043826 907978478 340508096 253980363 925363936 131685582 909189478 201462508 928552299 919908243 797400839 709947304 688567505 246353452 208294938 968196408 167198083 344118632 277662683 872309750 109182103 861927631 986720351 690026833 596081523 501277194 935609997 163709860 399694504 842169250 275592899 734499683 252866507 773822403 454134349 613445663 137266782 812588537 361265372 777164929 683556960 160790267 973726533 128202601 119182976 470894988 727598023 148561787 846772529 107816362 664249636 269730872 444941326 907607937 416315362 162269431 199260949 780300483 979366837 855827507 579041800 954335119 236099413 541347586 953822623 625953429 391628658 374922861 380891588 724274111 894869924 194670181 570741436 880296576 188513964 537043579 777721717 839580041 336466578 957622403 966288020 321665091 435815961 659383030 818611219 230812517 217624417 898087317 946085364 422008285 554641079 485468173 304961255 169356116 613491058 429911494 820160049 256045612 662603320 600852799 128814260 628740682 181496017 813165069 652314529 535219858 206454170 828323910 446502749 113048247 853769097 339670663 941076911 481943510 941037142 799279121 313740245 674698969 212499579 339856828 332436251 266686993 515079774 900007830 896020720 436739650 309148857 191801394 832626135 955625391 852516100 511621107 167896439 684367632 269742486 345213575 411825344 320263023 393206211 901498134 174533640 142016192 429068937 294579155 514333630 716141436 345513413 599941845 438326666 338817170 267742048 790400738 316069083 575239100 286920248 591849433 194007972 611186571 377146435 535378354 979869294 110404984 477908939 316845883 411694100 419513945 138244503 834735807 862262733 424383737 747995061 294876516 428147104 529503152 878700266 260779470 812753878 165788068 610732284 351247226 439644992 191053490 511541702 149642612 143027012 352617136 468677376 529313687 706265583 174567996 189404442 597767203 747867420 828239908 784859859 223377721 753030305 629199168 887715972 618561286 970230967 931804636 280176341 308868238 150375514 772297301 191296368 969999046 296944096 630794963 232894323 191727654 668969793 214850551 517217748 204539793 220426563 559011518 559045426 687432283 425570160 583290102 574309298 427695714 806476842 428878548 401843975 388719070 398535488 649805075 157825228 711441449 796623110 846859565 792233360 836133194 118997913 609186401 599443960 161261964 481005981 556590764 485444155 677578430 637866377 198742409 651855365 266087162 412603024 976722137 886055349 409106968 719662945 291096664 214064712 971617511 678380505 232761076 605611471 186761744 496782902 869751691 749882586 468329172 852993800 928430885 210975408 580518707 144696288 555113101 936463798 332871278 665093307 693113415 528803073 339994041 458854120 102502592 404237668 955419972 995666658 665914348 463970311 710290354 576840988 327455833 957698001 963862149 124811196 930189304 511278425 896884140 814293131 156526887 271157768 724024834 606931600 793462315 230999358 328298720 465534096 521864400 906862425 177366372 871297124 811836368 556031376 709983391 720348087 540920342 486940791 427997671 507904820 890779995 712826471 780680423 719825564 252460279 116133409 779008962 478445045 922076689 559915007 872343762 522205305 638646061 882104252 824533357 291934843 883493852 268396485 901613241 230740654 541335811 382648233 745948386 183612977 182990266 851408170 376432305 681955919 442538256 627080663 413963471 425671568 532654054 352136855 737371684 683927282 914733742 788717165 924414825 146600551 987216840 905128123 410069338 687030342 679600121 761533772 693775170 345734750 111667126 380530416 204893386 750621514 980085038 217597679 934114064 311267840 673561391 146508525 383100193 824982140 454385094 889741481 578382857 742506133 461542090 505683408 288696709 588275149 567172565 981552985 548019858 613486946 638857883 308436835 198473619 435988767 601279393 337539982 742811565 495733969 105998136 256596931 274093848 413293625 338912500 636160952 190748814 979463309 259437529 750166418 702883752 770233574 744527897 936902220 213931086 849606336 369395167 354133481 125107097 343074859 525201648 577464774 999054917 355846323 307141147 778936618 566288923 320599564 703288049 333744680 954130960 620215039 237354831 683522017 633111292 152071517 618190995 822215250 825792761 566812757 300099605 930064826 367387558 696326541 514492522 617160672 628672934 738630715 340057917 757684517 325277528 377023389 768997247 415550368 116065862 945928228 212353051 183745465 242446214 699493800 739072781 382745657 682987541 102756954 408849954 495811107 391487179 957895989 154676023 931554597 630224931 782089480 556249157 557070564 151702082 586208626 377854786 351402890 317793625 126363249 301571218 861385313 526407001 518201179 578857573 373964153 577206237 208219185 565915229 652089783 263024957 942337208 796078628 841717783 819655332 548875491 522600396 492223114 696619185 615698309 770911609 383774471 314751294 584188033 968706946 987650114 503525390 806684111 948223683 163237785 799050646 627247173 549578697 579797229 644694785 432754702 598266993 683120392 242141428 434483560 869625688 571755445 995077507 884304292 915692122 593140409 829548602 360221191 681939964 939499565 111261117 683179340 206658508 215095352 268848062 111200311 380346907 848815516 361690218 928946468 613526051 558431306 350378783 103285302 759340307 863533681 727789012 406514882 685567308 967487934 611581033 650109608 631020829 337364988 357574023 486984722 596659310 174294025 133229088 616716971 573626274 406891274 447504872 647653976 758960853 607754501 866975277 477967866 865393910 524846684 324444279 227131562 910094230 534860802 647342781 610961415 140537643 614566490 212869269 481024639 645246311 648656062 765352879 191643180 269927502 534008740 843226015 516917917 925066881 109386470 115603923 523591709 691386906 658996344 368717654 645540822 359317627 872775846 974915342 782649464 952837607 373259275 726091647 846522213 553136243 997527565 872402864 653895096 736844416 588443229 289986338 219610286 279537011 682445903 477367239 808335307 334650753 188276533 176284226 789400464 992132075 153044647 813243753 221857375 472006191 732549353 239824614 750228615 261044532 694055628 153985763 536747848 444561707 706843685 762256880 773008202 113899940 964681037 426001291 863412683 504792245 809144683 882553815 775606178 979095119 401234363 955969042 879588169 572848026 584085927 158799493 552502299 643965251 266155727 541433303 873702930 426281761 757177413 207535853 260920753 649396247 474279311 412744120 632618185 629041812 247616408 728919757 753618777 267197531 599930331 556407608 132273838 425784233 291881921 736677115 994480793 577674749 297086149 627181315 303782237 521727641 743461289 491190824 215327110 192747697 590857160 460532945 345430219 392864490 615888679 443595491 509529490 996354346 794931074 435261270 115757345 716529035 801548129 243849252 383458469 882187953 674454474 242465679 741362596 502337079 283943025 495509315 100989661 284646973 807892187 165341374 726137070 297950763 939330155 875490058 289389166 832368299 220142613 923608989 628148905 218062228 475167590 306457230 721602404 422700664 145910036 367705894 665032797 124452947 150820521 968162464 499075202 683420138 765087517 943641832 515446127 916214754 158020142 419879488 177340464 993555422 950201986 755387707 657385296 964146242 402291583 883958851 825836065 726017196 793709056 498980764 676897873 962484004 639981777 257413659 491396315 794269452 163507557 131868972 974311067 806369933 225101030 616490609 328964589 362150488 865375966 871880748 814287428 410398212 859191991 869682094 509635392 663482016 207163926 529731429 843895932 524294175 737619497 121245937 856376680 247335401 815334245 891861648 990252769 845066418 294014776 192003502 366487409 534796712 709147993 362524303 817937906 767689303 644575649 673155844 908271439 877343035 769668836 469571671 480993693 139808680 339060965 245461877 764833688 657449426 914538719 886351855 449916854 494447730 156091511 936818589 831329623 598653601 260690588 289414663 982398180 156751400 417819963 585987776 453867127 272571499 509366840 978690466 828536605 146096435 879955719 671315284 590135446 339445679 526437603 308568689 903658981 425359304 703461873 907687246 616713776 410590036 794006126 494645978 794325879 740379239 150658550 403420567 950835180 646382824 307919398 556404241 829784399 837463378 126298750 491877475 302174598 226120868 447371435 211751642 930291056 686945166 481991977 758361843 440988094 552477759 755317026 964227299 851368979 109361744 674040781 282003138 841764079 967822170 936800744 857338522 612016172 652985317 657165155 925573939 329269875 869000608 829144069 693071751 872669624 742114965 830768489 717106835 753158981 145102230 729285705 759620605 317093466 484621808 248415427 519259566 542658661 108697422 199222536 548550584 745083365 690173224 858571759 262957388 654107492 365116329 944805944 366309105 332433523 759943692 677516032 251409253 593884468 105683063 851689477 503246032 629202786 196627573 617805401 560473289 405360443 593233781 674230961 319864813 461866435 271456280 179440647 520611074 450441300 971300268 492266535 734624928 237831879 321794435 910158037 496368236 269571939 777308895 609506350 694770602 339060391 678232976 749636055 840833634 781415624 143826475 101124800 837470204 229162855 796887872 765192381 279419583 109287490 438410879 316625345 733454586 293884942 704031107 492378729 637501080 212577370 950158443 844727062 996378291 977908957 869473150 771559491 764499252 557713818 235423057 654284338 415866498 470461706 268805673 957916376 411486848 283220844 649028429 927603363 142937584 104358023 516719498 296424111 183080717 737333219 968210414 707056269 439222590 260426364 285841606 432949273 390951735 229148243 408579758 889630695 939949985 404894156 309651524 883240983 688907083 298101330 969000909 592415949 587062027 835101273 681043393 855502356 451100708 840310749 965850805 648556049 700006402 267731442 944446168 689244464 658156697 204188240 439296617 745601837 229201953 610327730 327615623 458871344 685657288 165798687 287794487 200394647 192672978 319082054 405351142 857546694 921097975 188523452 242075313 823624121 734715122 332268496 908909753 255711913 845979335 966074976 996226639 314090261 226392439 213476430 455562364 608019939 715739879 414625251 518537870 856813512 967784737 432750381 202924483 452001202 930340449 653240748 180441736 668332156 143782856 592950214 246830884 818945575 408899374 675760320 451310689 616135081 956220699 307129030 522585652 107028227 898840159 622663532 930391930 816832061 524951723 899972361 997766799 406141286 245904073 138545520 816488661 470233275 619618311 316676754 720945828 484824274 537503578 630447147 813592021 291201391 920957017 716251250 507567371 668866489 951860060 900545682 706919855 774138391 631746010 601121513 988666994 885343808 853741373 440958177 569583309 115439429 775053237 666998836 504720501 755642427 839395784 940157153 978107245 534911724 892724812 585468059 627341517 409330699 628337519 361630976 511342491 146503861 948122610 133846898 797355928 775167690 197091760 437676471 404061873 177203978 365533528 309385905 177739470 684400723 839158537 272615950 946455536 284678654 727656836 583747402 838817758 970935469 207621087 713164166 643402002 569002752 147092410 642365998 736786225 901851945 233199019 546488326 615822990 730432468 801416012 181361414 524426809 432764973 852783598 492504908 130125003 762114087 778608525 846984586 495367938 795691064 930518677 174362703 131478479 668507101 418019353 697855986 465408759 402374944 653660381 397124823 477307693 403275338 830761209 154274464 124506157 970864626 937230134 291811543 863409503 732649809 911558907 648727564 639306470 772783101 415863976 396103089 683419775 446356449 552836481 547418076 970742932 806584908 573073993 165795573 258037927 442493200 137887163 759360130 423488609 512320762 901494966 538153658 234538807 883412993 298829321 939146952 499518211 438680097 943228989 765923171 101800568 574133172 440020653 672025540 149261720 131769476 868039217 457940609 766090045 150666796 325532020 447497083 541549926 801187339 366190814 204436820 302466466 927740627 200907062 504230164 245286404 579970418 817420932 576662940 793772291 309318573 843879330 999745939 158938880 632625624 766870047 622617140 574017964 639313482 667399305 515580402 876433411 496900244 842990883 296727006 105937419 258576725 356401668 317257028 943718925 860467260 667195534 209787236 940543099 940964673 147392764 923688872 114511140 495973392 327308965 923611721 671724909 894774371 885791683 243227400 794972477 402312337 693439094 824570740 824215132 599925231 313775292 648730300 858385010 785608789 858092264 837280698 511348837 129617018 456278686 162206405 408359988 219200449 495068167 415494634 307742684 353683366 151621467 510518852 604170270 570394712 763908017 810541161 832521844 904369240 859531794 115249593 992236221 252702084 487325906 661526859 327797970 177790573 574764507 128273311 482974104 985786561 250583726 138993739 974093222 846521901 346655432 273444211 879430881 755306717 991648938 697336901 688686337 505540370 598260833 377604209 999559217 264559159 515925371 832174008 126965025 345732627 966281169 626169667 731617112 234687323 199535215 185251280 612780283 273352566 164380495 672580639 322228585 107493509 927141843 281909108 169615501 124125886 202413257 746585813 216431543 272782228 698167433 798602919 399899377 957637659 150130116 628298390 379096117 702844982 871500168 156914489 293737669 832074133 784808653 128966928 674078290 205599705 482660975 552573686 677461465 465212749 933234908 650556058 336196167 458459932 792267514 274228904 436625942 813928685 155546180 117508491 339236131 378216735 934723301 721644107 562961043 755880728 848687623 167178644 558644727 424309536 178828790 568622060 585952171 527122309 960208202 947717647 946663259 751610237 258440431 702984306 531563383 516632187 959071751 251165299 658771677 459320763 731980991 595752281 919180363 506057976 243649724 658391958 335470797 707917201 146923922 487758066 568611514 588994588 521327270 890195302 995556488 915062729 434251156 554702273 873834536 175090289 316472687 328453411 880558974 174603966 414498915 773335411 183684384 530877746 707607184 554542849 609710632 179205149 160062643 826340206 690460782 840768384 194716312 182918235 234339426 155577848 944277714 271002639 320531090 979687535 568669281 145825377 231092065 857138140 556072873 758672177 308502092 613040651 570744616 893148883 247876049 690519669 732745309 577061967 327381152 581684115 667255097 867772275 617586855 378511971 610610843 581942995 256173354 461180232 669765673 348071129 324515723 243218264 660450026 817368997 681971406 628017913 506736309 719363415 123556609 785303773 735421715 462492238 842123730 483474719 841682949 208055963 630356992 855006305 452467264 838188246 501081480 719852387 462294835 110364916 781129556 307646434 195173866 152404265 406945876 211259785 696487425 428690959 364023635 189940843 945114883 344469803 331878219 670360785 996506648 855392810 806545652 205288036 384878806 644890692 299008505 790789260 624932046 752440271 220855384 905954013 514174203 188401122 869582323 510646151 160055548 593854686 574705143 183167822 634466390 817707028 467845826 817174861 913074038 796488166 457418880 346814204 344314287 279740070 651157556 984791209 338418292 167212768 392709834 380858806 141241573 194717435 303553118 587975999 685187807 421740003 245924014 248816843 390118593 125117157 669967504 286510176 701559734 479735541 532063332 465946361 113123706 910591783 288007685 892685466 427376363 323968578 221478054 428400821 681518304 734512886 998901900 598099812 146490297 110462444 672988712 906682969 508019157 297984728 295521823 489263838 414290298 564581635 899491164 556127562 432445426 682566630 367493330 612007728 359860388 251645886 592629002 761748283 612243942 286682518 206451660 961963637 458458400 770857405 136390894 969772127 445771593 986034748 763355313 130334669 724597365 800335114 909583831 642700705 458544761 712439323 266856761 758719740 934458371 568462977 333251636 275328902 468035642 845669308 892266613 908998026 466378083 131143016 319274719 348239876 241256923 577765611 638956485 648683390 641872933 222150401 610723148 397571581 125358769 179459350 720763312 537117893 747203297 327464843 967766468 551307194 933104626 920477267 458029602 729126198 595164065 366922012 924845769 811189396 792398877 770342501 977277631 862660958 156517672 566887008 117547684 676675616 816963334 248020261 111304208 310906830 154538776 167127468 929854321 500925343 576268996 192010285 806441393 163804041 719711733 490588187 404544232 987535577 347908816 557595927 655693269 454904278 185706409 615181978 146540238 365831721 330014156 948529641 671394513 981975556 385491051 361306302 770818573 959466273 447354683 151504376 891995762 330478878 968065314 556808414 937241235 790161725 522112283 176062209 683717749 461906926 174369789 922146871 157829450 436687552 892946423 464582562 302929147 961259397 734364016 427489019 250084589 976957230 682856209 553743941 789462472 799886278 529365730 937649910 323076967 781106728 343226397 484178025 196303066 841400769 994963131 971321754 918533623 332044016 278392764 885696907 261920200 737399594 622033281 943458007 847925706 316061658 958055332 300419330 874866618 506720889 235340772 952407868 999337352 690448226 199698512 970795957 158248950 728776200 508674812 432150267 654091957 355098947 769800688 241738718 520187156 202924087 786581323 865770523 526552677 673987208 902824149 303960100 124231513 937671111 670578876 190666182 403926032 239371430 375722401 578171171 154427539 789747925 625786753 944285392 812106382 562914639 825365838 311867217 880438423 247436543 287087882 247179877 421020682 120607391 907563664 139824593 746351143 471317301 687759538 223229182 991872239 104903251 154482554 798411202 919265601 876242390 607314460 297831734 574439142 524708950 629300585 498847377 570339133 523612683 139531473 538895678 129206505 614891706 599507313 473779026 276370562 700731171 114048759 858861686 154148661 798179425 732227720 214211707 939277070 528391642 225525581 972314546 371758329 579345727 522788562 506117609 210300860 235170505 747936948 862041435 978424941 296470152 937694805 481907368 834096697 707328421 533328819 662887058 310556584 424146946 621395987 601738149 113909146 116036132 292424400 294663036 622935650 914695631 375496583 394797628 103706309 785841572 425763985 245619648 609597526 265634658 525818663 821877880 606391816 935507790 282189160 888513296 733019723 490663355 265535291 549421915 126823678 292844908 418835450 810252911 654259469 460226914 446324212 405518215 716054324 683499562 858749303 560410648 519312858 124210653 201197562 428684078 123867731 476164027 679781930 980607167 285039057 135121617 613774361 776881270 215809437 542460665 178249489 723886980 685343920 582823832 338032277 742306514 728923489 958631525 209058620 343991467 657774882 434747984 702731144 875910186 511768089 683372367 386929094 331403303 934619960 787160242 714140107 108040419 372634586 914359528 293551747 927267306 990799494 715275193 462887653 102969922 158224500 429990305 260486385 221908333 798064777 198704449 136876941 454460294 635933269 992796547 922793358 853548848 664163767 475101708 116516180 846647017 312564567 480540525 670763121 885662094 916536206 299366154 355930003 900973525 826791684 816769480 781441234 348661809 970461227 842990900 847967651 835735720 715393396 238299407 378646494 928670904 804887745 942217674 374762366 430769919 997514885 933719473 537305550 215867791 988758442 407696366 766948240 660078152 529209592 634102621 633506481 736130501 714197161 749532971 496828446 273532830 408766216 848405394 991395683 738619847 775872571 633124174 844093283 197710745 887155964 654356701 651106420 208343574 277468222 411131486 598218554 248543726 979051967 391153791 691566568 589961014 915007799 525427060 370268630 182974084 437519345 254672331 937933834 864274051 523957336 634257942 285069299 282596728 800692385 455781249 476536505 578844369 372372300 176368424 728153609 123595820 453766119 132153910 630131218 985772728 903034630 321181238 314937647 924056512 283165098 737635281 106739244 517118542 146759896 681808409 914643771 802047699 317468955 418162949 813277750 553106107 753435200 117107192 232859736 777774214 407475603 265395522 705694031 825685507 525659766 911717676 791431668 976778571 543856452 653448833 942471130 912166781 295491468 691120420 224427513 483890827 612134574 318693639 878244016 476798793 388560144 729351450 156587997 521529354 939947701 596823256 371527794 107169306 780472581 882030506 875413512 532973562 544491031 193678198 210945658 317546589 842697294 716934221 881855355 418376441 802627293 852705603 835215477 856124070 466008830 155564540 595359274 312569158 885109118 734644256 442365007 945649023 240196410 654783736 926446263 306360294 839993504 282638569 679735306 891042955 272234698 496644512 718968130 737512319 726637043 693521696 965951541 543106091 801219646 520169870 920788247 120623414 530718128 656881212 954372876 521645327 362464979 917944289 271084784 249884483 328446700 730596950 677555860 877456879 785959557 341109877 467456297 691035705 669422238 443979053 170454053 913269768 802283880 683500114 147490176 495488877 710667327 267780690 692405349 899122803 209564703 326111463 814734834 442525122 388074513 834426255 427954941 899626135 440063295 995447023 467841230 735777946 939841648 429023720 211379553 161444617 401908992 133754123 275357195 311530140 622390157 898224788 697045528 784168386 486778564 320595487 929981924 372324324 946260875 316906099 137266888 582995595 215325858 613983880 272480743 807567711 170802972 231141802 841801983 408754741 946041800 370068568 941908289 543724093 338331740 470166627 131530244 883192892 173051268 160457878 644762492 159883863 830662561 394403346 436332366 951012416 817371382 897096492 781066559 726707953 564097348 708630434 769075390 804924804 226400917 672281078 899698988 834427980 803769933 737831085 322694142 805917129 961296403 597123193 563053459 527986230 592370629 379108276 358270361 453841778 627393193 998148515 468534501 935909701 926782868 583060347 731083722 744574966 783889425 617779308 992732103 935007421 961429799 625673839 205581267 677717489 928507366 354129746 675102296 855769635 353134475 850970506 762270614 628197894 767614622 932234929 178557867 831389229 872212616 361988381 116293841 821413711 504273235 730066702 915878172 695167279 853236842 654705720 937336318 588318423 780489390 155996334 853829241 547274740 351001433 103609173 648841179 694822918 658658693 700330913 850808298 703586995 853826832 849224186 901620680 575466748 346659477 146082809 245951033 948022406 682568893 673800485 560244828 286118941 475971540 156826531 648016112 627035990 669912480 308958026 699354259 853103049 996140744 516233140 666268222 788394256 335350356 560715411 851210102 829100174 340432807 393243695 705983335 568334972 672103451 451459955 256028652 750001713 265055851 405272090 531539409 490401258 428610543 372068661 483057060 530983585 151719190 441476579 528856383 830230448 492634760 344143536 252381948 951628023 238633510 854223080 965342417 922629524 725557513 960280027 105868239 187170001 596606971 570487722 228279373 765245008 787659056 687782291 383264229 663512928 863658364 794390387 891611494 438175285 904810307 374129925 293002202 967800224 630330195 191189497 849530382 802840232 532822629 515172571 306943075 820681274 697520214 478563357 709559115 541951352 417452792 862584091 205025877 543860262 929792644 400537112 858138629 114411614 535225148 559549162 926556912 943815085 367451880 606218080 835665356 762273540 948502478 326258459 181318681 315051177 844921310 735972652 393416851 408982487 180215069 685531938 604298308 389968085 603424677 970480246 749011979 682535788 559586994 296444337 828172098 375601222 183119320 741412503 142689248 946266918 390988542 201819451 548006797 811206082 136835908 871571680 431674226 513147880 322588889 916856208 947730372 278738671 714718305 523554483 901290838 831611854 803746311 168161788 773203054 581836733 148721450 767215673 376053235 324736968 970902158 437564366 456465154 310418028 871645353 822410802 684356415 542131758 888200605 475566901 321159850 476276603 905066327 658377086 822018789 299552087 736901720 396729913 301403026 290395840 490601512 932221031 359233054 729833884 344409375 886310912 310977580 730883073 223160967 709710495 829343983 293284420 675375924 995246898 639647792 420992264 501954384 688524811 848637927 150858717 967541095 979351557 413642718 234840219 303927355 465458269 908971341 634944058 606472160 444510152 551583410 653790998 584403571 339336200 279325853 673961817 224195858 743506776 119308227 877817744 128036355 370559238 570138822 994862556 214309757 883334576 939530815 347113200 507872658 241839257 182446984 772122068 292378009 488828938 971573945 953776187 426785715 816228425 720228934 937598312 597330527 945940479 469773957 727883618 673744413 975265680 398354239 312069693 336681280 320465509 236847167 506546567 696261586 996633226 615706689 198903370 293693753 960003835 341853375 187636281 194026433 977786352 498625591 986579529 311475032 332743634 852275961 353139612 972015750 529970128 292119345 666493876 542135585 717033932 706361170 998387375 527122026 871317477 526404235 422901769 562522098 612488009 866949047 882229060 757691091 218483871 968419745 563199166 329867085 698777757 454821567 848824156 589411932 542465672 764118519 213926622 683213727 482039330 252401286 254774444 271650347 360892933 740516331 131564267 726685218 865886370 316358760 626977065 129227672 604426146 982317377 636305530 860068496 300380650 925718281 847648273 502635556 992140091 866173696 796842604 826729663 644521131 693427495 708863429 403395862 311915912 515032360 603622475 294109674 139093786 339541455 456735905 472412712 920566338 958417482 514415194 481485270 738341501 124084946 199168003 715752678 640410017 169032016 971769211 429708582 997190578 205002081 908564531 805295858 642260647 137465956 578052197 193861353 265525034 716348164 555691378 899765596 523068662 758804556 140139915 346181691 321724108 755117616 192695129 316972563 997949611 442668169 723940976 597730241 853814943 683031482 468562291 345998865 401917607 185875126 327134027 195141990 151700351 542192611 794407420 117923995 363597841 287870648 468741510 554378787 228053337 521953994 611600440 832249458 882490171 319109295 123653293 523561488 398164992 719623353 238935531 637044170 559038899 387232929 113212089 146036522 578500484 822688316 597317821 606663375 400416873 656508880 663573777 895642148 397441434 855678781 771170756 568267759 912997041 458946919 290780924 428928681 663176010 169283855 377677026 117741181 494580614 942654990 238857053 623255899 786621006 191800298 701298676 506025697 859486667 411121962 864085292 314455281 527068250 651051973 943410736 613919118 724721352 825774925 569170950 926242473 523614899 264249250 772634552 270032347 739953554 889200996 543321356 285807162 660343391 157331441 475405494 307121215 933185540 544494440 503079622 650849738 274697829 427661361 591535499 944440843 333734488 783859617 224670887 995861755 886646943 909237438 525164907 289281533 807858969 377924951 943070609 130824368 380389925 671391428 347762711 717193689 534797689 275272693 883362500 489652079 656251692 236403776 786899980 786776072 881761908 483423494 164571999 452792548 341086213 342420855 249553192 372927587 607704545 652585172 223789698 924388743 439478563 264647351 125513878 606257185 610914874 862934986 876155478 881362540 970304746 430437732 447733686 918897364 149912433 177088782 245354735 168661292 924963952 839735524 429835968 848217075 202988683 358067200 506430332 722571139 157894241 420293707 687569333 396024472 629396649 810160672 758462657 305078422 191107638 237665838 596165273 405369124 582589352 729107849 696418050 343948074 915958499 590082820 327218069 728274658 651848160 711623436 284537563 439224515 128792054 409119902 825545324 103594769 676377351 140015940 590627776 486876237 751489899 325272770 585194366 285427658 267584681 647884136 876547497 581714652 680315503 884789718 807506517 589652676 548422760 871419642 641848454 436700371 822795313 386694250 569015890 657560050 492141162 413860281 143459899 332431042 767707131 306042751 757325211 197957026 558443823 416829979 632843887 869933961 718451553 679107764 320488457 859470727 350999132 779782928 233206368 927316179 894866421 292371552 408577934 992385571 307161797 668428681 353578109 176762456 895167019 549119141 163202528 221655983 548160380 396426952 165149701 535800565 377893634 215980057 792789848 885604842 442827476 437197240 767076208 633130905 501436596 220552944 846016215 756244264 566197812 255791521 508843556 502252928 945764017 565132983 504996020 643490542 438258542 803457593 895963336 901082588 980565797 583584449 743832277 252047807 788543829 734617620 112239537 397659214 696706758 215717542 450665457 433388093 214704124 553533588 881687887 892050389 180417273 404679435 188083263 579847553 723114495 138749638 755535104 517674312 776861620 406765868 620351572 161325938 162558866 522081973 175718274 758676514 556593696 944100388 932406394 749330893 729492853 491901651 896481522 499892353 172394999 126495375 799557869 864210066 508904192 328358838 552997289 275923603 963996845 621035501 942617032 447895722 400224861 761771335 442031434 382734369 871969976 363500637 347444894 898131765 831150541 312225083 269785726 944229020 533731058 816911808 148587408 957168676 411099694 859202869 606790609 235954521 359325885 714278528 993725490 486212981 896145966 756793633 101905344 924839797 507388358 860384944 768921727 422224414 353909618 840920983 947859039 242030810 621927725 974062293 424055821 822957425 802773790 356164916 549852180 439580204 976808765 981185612 471519812 178011426 476527100 627703432 432147433 701474869 437424560 985164011 277605851 149102459 513612536 482596604 195664887 497667774 349097244 192533650 175144301 382009376 111669335 390319840 800635365 248819426 345604687 170976239 132549782 175970631 577614379 988219863 722661748 856289369 758929471 866397223 819522382 471868434 961854624 867658545 958619623 946277829 783339023 397618004 310796926 915595567 177551155 468710143 154530314 315386188 863025982 656374798 794176785 490148981 356673424 622002102 870896735 535027062 786442357 867754098 758648343 397505250 164998150 338968544 814197473 386361000 160054501 878892104 960256065 355726089 195039668 143462849 279122733 419245282 176681955 249773896 310190321 108406093 759593448 502882747 579893029 406611687 149413426 672594959 729963647 950836792 474056579 460295231 747396713 949963309 483856329 822592889 130193872 986299848 319938627 442159514 203759990 927332843 536848936 587889095 898580359 423276629 117960890 666099032 786556552 744397712 765813852 618456984 874126872 384447123 364852036 898383611 343455292 711393765 325998583 344510960 165978068 594971862 336293481 681211449 974196547 504721035 819377658 426763408 588263695 827719813 179809569 941324438 765985810 155609887 372044486 687020976 526955432 714067914 259389977 260110699 925407091 636663178 336855028 582437699 490027102 659307786 265601402 297346774 455699389 989889930 423365907 377809550 375474617 281922607 829713799 655444925 968226052 325259971 242312003 769035640 315143104 183017885 871799395 299819140 215340795 902228941 416743352 500441213 977720144 649954307 800051234 254832752 513976075 635695949 348069948 460730076 138066587 520614432 702636700 964075331 598077673 549467367 683419974 499236897 149370115 890696047 514641299 675419660 730761619 862304519 672864807 599629825 976346329 574916922 972469089 687278525 327558718 482001294 387829993 788932665 549433688 503797567 192511754 884736490 787818879 133711748 256616710 243255372 458095854 224966162 602653928 705861380 737224999 609940466 895341846 607260741 287468554 517494690 570936610 129685484 589424407 975449303 940620375 252478844 696261612 786209605 162125014 179520144 468310380 948420227 166881966 656840047 454847135 471595579 283978496 452697295 843307405 595311328 667303263 568199649 193549975 325291058 490123051 668667913 705995954 289585079 398846552 178039451 981773815 314934679 103879605 648140556 686396167 458504517 391874033 939724939 875358033 750723320 948698978 295874587 390204851 517322077 279030255 506926346 806257178 328839633 682308547 286946725 610538042 222922356 326386125 650399197 908068820 937136565 386017244 425652185 802130275 540906038 140619685 192023704 727119175 884542532 547072810 974525996 351816247 988399947 728936937 598419402 890644727 899968764 996508597 227705910 826157577 197356433 930929219 812103750 181230819 753319648 100937888 220640878 385249736 527398970 838129502 407922136 218515500 920282456 670461985 440373147 573596555 346367426 471339612 795357393 868802192 627241253 451224810 975970530 931532849 321060284 416265670 304047073 340418934 154553710 944001590 836960256 708523303 290861342 921814020 224169953 965319768 679203254 147300692 627855920 653261589 157408978 259806558 254399162 958891856 994255237 185393943 508817880 284306891 504559239 976977963 334643359 470198014 795513360 874333219 669365030 755439895 746068109 417865694 343115806 754763211 350251890 598767088 780479302 241507617 244015447 178017259 424582538 930605057 837316831 657343258 177167185 142970661 896399518 729848479 569796451 661028963 845176705 424651813 420985015 768815445 932063436 228149778 524103252 403410449 997013216 476227022 988267794 456365425 473299503 897185676 297310425 955419031 986777405 254077362 971319067 756354565 868292924 880649061 500621334 140427965 526224073 409555753 740579805 615286840 120700606 677594469 745074345 283999885 137725554 414603004 583606056 920918442 125282779 721828818 910611571 872693967 295155784 337842737 623650983 522861441 143772549 582062172 685437064 789967639 303077627 989757573 749981752 548080336 839839630 888146922 402398071 555475867 265703795 600097219 642424495 144425535 320451784 302593627 201009155 927760959 744494450 292966496 182078196 500303836 252967707 241965680 465292829 445438495 281330158 968586690 676810844 575829790 520113106 600668640 260297556 192429891 371850889 211612842 654974246 531109773 275184783 453064656 176379387 436512288 101577557 739827822 665910499 417880536 172454394 259163967 980147078 505203892 664985186 645248223 439240331 490506175 672678725 553531053 611325789 230224987 879794785 171254947 370644120 844618816 680026980 338672893 420886413 740332461 207413312 184018790 780521226 478665081 447716083 325217648 609576539 189244541 158361746 384865719 664891060 688599844 645273864 427585101 427642510 715884784 704467132 688247234 531562606 529993559 965575808 490675056 499616773 252001525 701240056 791757614 673564589 106419428 572639807 186077260 662346823 154089443 619505935 942660532 982424683 427626360 406308078 424756806 277440312 784529588 572013264 389427994 780831181 490406051 828976308 715656744 731260872 990911830 465530648 908392437 108763818 165439205 290110601 456529435 866872212 299116915 624044521 992103330 424675036 920476075 702630044 371867517 818713278 850138922 711445531 614303276 851601386 337324916 536088099 178963385 134170831 880733148 144582456 607671171 653846862 432811533 142985321 532269079 319315896 882975019 679273474 771238025 392624656 778978261 389651427 935804219 116332095 942311265 344760993 873380629 605732686 912849241 681186741 847284567 778464337 554319633 722341789 885340022 630833549 669589643 678965980 731377627 937727117 873405589 709433246 558598419 552393302 669243089 783671236 675343040 183573464 876354285 109197752 697783704 750385501 702320754 168684006 283421422 782776588 510044473 508219947 503475493 396589494 549785024 696945761 238747475 105510401 967827468 693849320 627420580 341011063 858808320 449033555 569730722 969230084 688171015 997164037 330178258 896370406 792107041 731005344 143805609 436478350 398282597 353779550 455740637 966117924 414915229 652764400 514503700 659002750 574536043 885080526 707756116 599862341 669772869 714996451 662047638 228003546 221203206 792980237 184927552 537040768 588044345 265537484 663690315 121119116 969561756 803205533 257825365 201559712 763883553 837236554 935246122 979047650 244778466 740649877 171906359 700504275 128591678 368926715 532642972 165514463 351154045 561699706 774004598 737460723 944848872 183495715 966785784 267489350 639185950 100189556 895223244 814307252 721114555 869004981 900579691 668129346 935125687 900937377 334799168 259614220 748246419 150644594 985333295 967813542 288977179 393486344 146316081 410679527 179966229 293292438 682282433 182381263 912273496 621513456 785364229 750442804 903413818 378417956 472697833 718377542 817586210 391100383 528453574 497909723 761329644 271692442 394030089 978710404 599561742 583773028 446770685 940332293 754676118 687117689 334549047 364065789 755012202 145598786 450245699 609661462 672821559 283806080 605978878 434852109 477048802 867479828 949609002 435455374 585678056 474491294 443085593 381023474 797379032 449026618 980253769 892937289 157959541 233000626 833694956 966599093 979980041 370489175 852429135 309254122 964197491 117851076 174916431 563986141 605389852 572318198 687658335 126803589 376270526 705335989 275550803 194569075 518338066 924416687 886823949 778715798 633528774 942275444 110350963 745782591 733889352 947047546 782082249 609383679 473836696 240945250 369841779 944500675 904113554 560130542 285896292 447311956 349932316 245231153 157820844 777360854 827313805 240637032 323852488 159537598 455968100 734868766 402799172 879176185 916321355 103607827 568712643 368812950 418909956 455152623 930398871 244742828 996398062 886896647 392024965 630175680 672893176 374375401 430492405 221781636 999753869 401284624 910168710 717273749 159820804 438206069 940011730 214277450 827370664 897406832 618569061 952055750 653624055 561097136 942737457 349226621 174387359 441294879 843884178 964770438 754923569 945318038 539193440 673762567 785475752 904719827 482243935 105165370 152086097 412739037 413802097 690348078 700585171 444608806 622663422 762913153 456955608 429825221 427002149 411930762 529122444 206158593 874842399 775293356 667062087 103509936 152782755 157392415 272402256 364009656 641859645 837187052 655652957 465027511 377690919 411629095 466238351 397521126 768940180 993169283 689022455 427017737 892003085 912201010 177882531 968013275 214042275 976556238 556183210 347981407 798213414 262783912 805021954 334950996 649598796 211846445 463858407 757723249 932794191 627618508 301524649 624688383 510425385 340130143 880591624 175161912 868975574 800632326 121735553 155663885 855987781 952031004 845545035 488666485 233630478 840238920 187433281 146187626 192408566 868404626 361683416 646322550 732898848 615385092 639502552 854032166 848627644 875489673 324171044 305707535 743176627 944943507 131469486 727016139 185513573 175538259 766925409 183966267 406339634 990914249 287409012 253683230 245115384 864835970 730904261 384985731 258241795 205463677 288415368 850548178 567322351 117082728 916390684 934168127 784889276 540135190 231002050 865573584 359311621 281345258 309810290 796697131 592214299 619206222 104612445 257234604 614560408 174076864 687579486 946505320 816047299 511326622 217622672 816114837 172606193 522186845 149158581 753673606 909042019 977219043 868286534 199459458 602613944 434654409 873699501 607071491 127167715 450684294 973326571 304363715 960247077 196422879 926849440 451658434 711535182 860494530 255958618 886354829 508633542 878469262 584980448 585550012 534246192 725846693 325181107 282694979 610140281 371303673 250656891 580722174 978886772 146987875 662012072 805476753 576061402 879563572 824754032 255402908 833925773 572354343 421996599 656750270 521122937 839258626 781498471 286838755 399630131 365360426 826274662 705894610 781991468 639899324 157819654 655732021 150703606 431177827 921870581 524588444 132139732 881998561 407778431 999291799 215104482 426990960 834691485 756490084 488389556 147640090 113214317 379364861 725165764 194557610 846894485 124902302 918100040 109121498 582250215 522064660 591558318 863175708 799433808 802550039 106211800 948216194 717323833 148229042 950040102 563464883 282037858 705381595 579381146 210524561 702469894 194640951 471488825 611475694 423294760 350623136 622121763 422270214 614452386 594920061 708844839 256318332 500611350 644128461 591427514 643389844 233360689 293875996 712881186 479838505 291587021 723402900 632651684 484943986 766984870 893978446 579903058 530120225 273792089 501517268 280220668 849249674 173268978 354530220 508814407 227266018 278201634 124672477 562645203 538614931 191029022 466659394 993280004 888176875 147410943 212359019 736861130 569643205 602492535 749452345 322203484 448173766 687305456 224226111 882253926 497677804 175929387 929680272 542222592 522298041 847020925 127986817 225474473 302948828 864858012 777982273 771266522 426073083 149882846 489732712 513248160 791939320 138562275 653964170 863418139 325252599 795145025 124840441 908546629 424678447 638632658 118659653 640769419 702562279 360150423 292805437 905614049 839475222 909424517 394775627 541182214 627692591 505302968 957285111 483408530 596592196 691011356 227686715 227667400 792782659 800215714 547668919 545655330 204962252 676460624 168311378 670355670 231295382 650583330 133464267 991509792 826383038 317227151 529310078 163981700 305265006 352630326 102726529 938660536 423570343 599869787 993520041 795431300 225636202 971415365 716009391 725395063 766707868 746542388 692218492 858320781 996678403 720564199 393791049 531687760 465556280 420579041 714053831 701051345 734256997 721858932 621795403 690544710 128706373 405394167 121471144 592477593 196860796 277366025 222324749 514672978 953802944 669992001 740908526 337630026 675460208 973618151 436765036 567268418 712285842 911715133 793874599 844386543 637335918 790766550 729019881 572142794 663973144 698289980 742594066 767818483 363539404 419541473 420209696 755031793 155649070 139632773 541769018 927446777 781483320 811796499 831619230 271491973 260304761 457717017 352190687 382049070 577467048 994861160 871763914 631834505 195003565 762611849 124526379 670549640 546998836 465816550 257179305 582333901 192515549 597178452 942388509 725709807 137417744 765694634 656861753 683749891 730245021 672008051 813506361 697024080 691630674 358256816 646432878 110832499 822240899 136986943 918265796 987683018 635678776 700532598 119217190 983193101 375758027 671337684 179822344 382619093 384943223 579419311 966140312 753068245 911379547 757227664 331104857 371348875 449235309 804610508 877128983 315568407 576730416 348685686 568949080 196552327 694259392 185979026 684927298 611352244 584091516 463588483 527771826 676249220 279373208 712901551 490813583 923373187 786274435 769846695 627991232 693705103 812689272 740011703 892539333 184334891 608890356 280732324 519260142 266073862 243137098 354883264 756972772 503237441 201476906 546777878 941575865 728970130 429704267 183759735 760700814 525095301 218305503 323134514 507977813 895328630 638552880 441521586 972515407 555371610 459403047 336572896 535503940 901107478 212803019 856350335 720398038 147008610 950245770 150096713 693515250 349140879 508750819 639924957 911491390 738205800 922701855 390484577 770446880 838839458 892159925 799682808 408235990 886730352 191604486 949728050 399200823 259948807 152661257 645706485 619677544 942935435 638334490 569972310 852177270 363821027 519539892 152936599 110163828 465008444 178839374 503622098 884519965 201201481 571391823 806711576 899041467 463946572 379319552 743748078 974179199 470586086 645715296 922880129 825975355 432502877 800472101 544473795 548779912 606861904 310850163 440119700 656525773 642201798 872770697 359230155 904638751 451199628 282214570 394878412 251586362 910329104 436709062 614146199 115704771 535374306 567616848 685392054 119276588 999572585 994301046 762072113 247250927 481947435 237409128 157280701 491775552 433811156 856862605 122060162 917690202 311690351 954083893 838222318 410811169 884365612 285500872 571797955 740342997 371237598 374511136 230380156 561359232 964242982 997259061 993923791 362263030 616908103 229293182 906410296 489350720 110998951 766149031 359940845 229670164 745650658 345838394 917366482 735353594 508093913 479122007 249850567 636910196 512559703 178176823 170305617 614114160 753062687 357780781 813586425 738512335 689763746 859055500 923768487 457329889 419365109 844997880 814353560 360784179 362462054 483589713 876836325 511411144 676721550 973345077 284392809 521508603 177232380 863945487 396539357 281659074 315176505 642018820 481645500 555123247 938135470 244061595 681572599 622127037 775900297 736896613 553732383 711513809 163029217 790867115 459998794 589092089 238477482 750146033 396486820 765481395 646150577 341253076 311860211 971587739 276455386 168102714 126631220 524275595 608377263 202304819 783734050 218359772 339442217 298687175 381603637 685745690 385135853 600553286 297465769 984312864 171671480 904167953 782513451 906837461 872725905 742395964 338522404 101726129 372894705 293318962 643197465 477229394 638359081 537309264 350559158 338929364 565077127 390153838 692421938 318221940 521294981 195172209 546955287 374370768 317998715 522870346 543354685 728738533 129269603 179546897 108551900 788248463 428688841 119364628 989895370 625949141 164432727 968668831 770482143 713265069 363550833 613391824 230416917 132366028 858707171 534886796 774294159 876414777 496088164 529479824 733529833 201435759 271382296 289776415 336272470 688964059 750767404 416591459 146494418 620290615 938049779 550978633 540909960 156824553 226386411 123489749 389797127 668908145 210175270 680320317 615119398 824178233 879845256 963958055 130818059 833631448 362536458 817447970 557356641 178571290 163836364 482360448 663860024 759359062 322703098 172571411 261597907 821696493 842545451 225609462 596931434 813919737 508097700 460563248 893343808 891763016 721440679 268924148 647485466 188897873 449150255 348651382 362697283 308455661 768501090 813145263 988372664 600664249 453163210 494513394 392299187 727951627 134290035 952465311 329254558 255036423 448141968 729811576 274348089 918764862 695718824 765264442 136885248 932156665 772098274 869307802 589917482 798358252 818219636 571056610 129729782 353842957 287891824 448114709 298072091 209473387 795066092 240784360 378090004 361305712 630759513 999751672 163467541 941193971 894293235 795257957 713917628 117282496 378879273 694383693 214953610 965196359 330192624 770912643 848102730 868880166 328039389 831205901 159807248 664672303 567624250 588029170 612891529 792830723 573946775 489613268 545112031 483405823 275295239 512989849 327071229 666140752 708535560 254818241 402976466 480177013 754000218 523393769 122655349 717312459 643703332 190835121 800002043 467881189 239672615 454317443 992778685 701941903 650751051 321062015 509241489 262215735 526369033 371541616 480751173 399614006 729413083 299417204 445915193 747418973 690385029 311149219 570739791 452637760 929800549 210882714 531667812 721342192 281382021 435577068 770202007 994139333 277774952 929501025 267370175 360889257 837584817 476216056 625734638 400883572 140549376 852896287 775363484 556164736 386845481 256734260 738733378 404545562 234231654 281555591 223779724 337454714 539213134 377786886 855344371 553454294 587598288 281822565 484441237 934274791 565601795 851052197 482110767 968434247 864217787 357390973 388979326 476813340 687744601 349207442 786492237 709293494 791759549 343069865 655531945 749856476 262669261 339358548 110254059 537846637 480681410 861055459 147251615 937396246 775282921 536313899 691811625 431960055 348003361 125285906 553589952 586704044 873930419 293892472 236784692 927966863 120850673 542976994 850430307 795523422 975888720 487433658 126522719 347939930 727364748 186804024 282140356 977530394 336817751 480309059 907131086 980584825 357119930 278530651 950555011 990355428 785373841 982535650 386588631 911022811 583751785 322803578 129955806 799023754 772859308 670507456 250820436 282974490 907275267 391779151 434665545 327154678 193049173 215326203 739780124 971138402 630398785 851950650 334441700 976741622 448756614 559254592 430138324 918603449 920231692 522529717 221600974 149548454 697769592 368823226 942369407 329111101 375028666 212381566 430440672 954773992 561055047 154658140 838138234 734503530 697236488 138187151 966724497 244561125 274511305 211428939 205398280 839616705 597146481 457789542 940909027 831501418 566538328 674065400 498428430 794325147 299725271 130360029 849959041 679867182 435296069 349501016 966052000 705511684 665884715 327148861 922062546 663226290 822192977 830560986 934861037 127500406 208595501 540089368 917564032 788435286 330482892 943133699 290305962 695533157 936339196 783170798 955005487 187329942 979410359 381624339 269392008 335068819 929494187 380900241 652095784 626230610 945681223 416071379 706317985 761929510 117074494 574069986 199489256 575346937 749425798 260427290 645624563 906333073 609816064 497060549 600388111 778383824 402904888 654694518 190022522 900040593 203426926 256203256 313730430 357166877 806345211 363227703 813823673 245186938 808122789 679877386 692558805 363205099 784063020 183412303 470130449 761715897 818658462 390068658 952110750 594054237 775331805 233703009 820784378 420586711 337117567 398870736 842647917 975829317 110016081 274045190 421933852 858703761 591986615 991390573 123903746 698063893 599063417 846368596 124989554 284360186 657588332 163193642 641035578 418410883 938665994 480810770 183897640 526086400 555184824 738116639 994277563 782394578 467667140 808718347 589207203 199613011 257146906 940918454 118049372 486976688 895476102 533764265 681635044 606358542 925354895 288658856 191618772 434149620 954870066 742219716 824715850 516718575 146537053 744973629 943138288 430206849 643156064 464050185 115829385 463632969 442352054 659527250 979291511 694756244 748145545 342146131 459438983 224199975 571411081 784007609 992187173 744643270 516323098 738733993 695872619 889091708 565889036 317787961 704596994 910059932 977038433 210056078 993036052 549600651 379631385 665082472 442959946 308426346 546131557 906892633 774707381 841175380 121660768 225476066 312545179 317996265 980403386 184109858 762633673 575131923 668434752 170606399 771229821 129876162 806790610 325887102 139351746 677816487 775577720 678280529 768674516 132930678 512083822 237753984 785170642 394319421 916519561 702670377 309667920 542738467 689352136 132947743 836448601 932301157 941267556 163682006 228005463 896042124 455407174 664625873 392081615 434329319 905307493 524858455 497952808 285181106 957779216 883018556 861689216 139361180 481110667 595061254 388255401 327307875 129075478 343066721 149108058 170418833 388724055 564778094 274808777 864586406 691224881 617569769 211953095 160675780 735888127 844053915 445444878 484215366 507758121 700777676 570099315 532682547 667251741 187071221 896117175 631833370 648099466 259308297 107351996 857455124 298811562 618580160 159682462 598895286 154632227 123478391 411185571 773750602 948081211 125870753 717437577 787745841 542786369 150748424 304213055 394325883 150667329 872797720 160920150 924232465 497646330 990047556 448121864 901491389 628967151 722689451 260743741 483932347 294473516 164728420 487976647 568516278 392019947 288414259 841275784 412726801 884431498 316769049 297976726 948256239 847574987 436923570 995941124 296153077 565298979 479716523 906007463 744758141 655208194 565719405 646642896 104287365 272422300 927628368 339466832 323053312 627816774 273783070 107075496 456373260 499078745 490281925 514651492 871369222 595198422 885698764 595927535 440613328 337510069 376480961 978057746 216814075 950241152 130929271 828583439 158573648 772107073 404414758 660940795 179095108 103119802 474806609 404228391 388785405 672988438 231952266 225562461 896474848 197630185 371152023 547754544 798306355 349948531 341158944 243171118 435591002 329052017 702487685 731293641 703260489 960462193 172019186 287725120 473878357 549913305 426125371 406678076 202435396 661811665 892558107 336323536 628056980 237083979 477078621 893282602 118660099 779546186 878580514 296121946 987057318 903484726 230005451 542887560 868534675 968066979 979007704 738793006 120468821 121980366 900420314 155962192 530912278 530587527 356330605 560041564 279994237 423941545 282654412 420876867 749453636 624417410 252592101 465936771 380721097 974015602 945736119 865623193 763992408 346981238 134694563 812355449 109960853 918569442 760487144 911725471 731366605 804737837 243877629 800258118 337225782 227475277 533584887 431235062 930704362 954607658 795097688 131902677 437337898 634533889 641092255 891441210 768130845 289140828 537967571 346596351 278131820 167489932 396371813 611719192 399989705 558397893 218598300 692089353 285349068 795397844 764934108 209516467 844456750 246793540 376332044 888869677 664525257 261873581 471884040 918433458 603393763 793945722 870472211 895591418 595023194 290814124 736845802 617316682 378736677 765758826 912686528 626660753 210715064 337847909 578699917 585195991 526931617 831034250 124869943 421825465 699267213 305442038 727445460 742217541 730974835 293007568 851834378 147032157 424215372 408934774 678155210 613580558 873205010 889432192 691241256 291096030 247249782 107900712 386353350 983995293 605458260 994794605 109456804 660709556 734496177 472651582 817285186 558614189 157416968 699266579 620295806 705805586 421557040 540613798 954955478 842244436 719397688 869440957 294275341 229330911 594178347 663452301 746706269 123046585 145270384 977622153 800113734 513850052 975740086 148008078 865427629 574983456 938364017 375347445 992959745 119806154 634289087 545099969 760633029 519258235 308491052 774404415 507803966 315677355 894176692 930767004 392791757 240920657 258317491 110815310 664239038 377256683 255735460 709841926 476883118 867963133 636579132 264348269 283437492 788121959 104072945 313274572 598210667 683871229 291312900 769435854 419107912 875546767 632226450 903692843 217711574 361768262 758147938 316803784 413058845 200777053 588373662 383960487 460266663 838368996 990736494 755002250 561738482 226224755 791747666 135484703 419015715 519157674 972199487 240311833 806403903 600268110 264181060 623295281 470718359 218112544 136853326 951582202 253367800 370088905 211790200 104165313 276396633 845146953 515048714 293760942 736428099 886265799 811932960 352009371 176749796 571376721 350645787 331330487 961677451 515223654 211234695 393114161 535165735 790399407 240665186 892142886 964650654 107800257 386362495 755245221 376457180 158766517 762929841 212806469 959864393 268424741 604209999 435583148 620589156 560954060 520390238 411713329 328309221 208226492 937256885 714562388 462756719 151466826 264062953 179889415 176351763 737604143 535786242 626126045 866405990 800775497 964208231 865762810 480307731 970737124 328548305 120209589 230318153 461899993 567071488 794663863 232146972 746539563 594740642 841108861 567687976 369833045 310966649 552001618 910451296 997428128 371482869 510527325 705933690 696331713 214212026 588306541 457960368 592613618 407880376 597970100 553655813 685789564 988648123 695995906 103201069 190840732 958526819 116503723 391685042 652077911 614301044 768424425 291156547 416243403 831469533 380052224 955438950 880497244 642792972 635644615 321911063 163269918 891497327 362858905 759015037 592341738 871654330 185815471 478482937 223365171 969606996 179199008 961522847 708585118 430739278 223013585 667363097 115903087 446080945 508004202 641198000 730001122 201476529 358695826 376833053 383482646 869200739 751390885 208124050 829694150 821969524 784713735 891428003 970611540 398506473 446038919 387256451 720120471 615653960 292476448 490404753 781568746 155439227 392307690 644881688 797033310 980503368 607673541 200023608 756473983 569173439 416527919 430926667 360138322 106238089 448492754 815537123 651416801 874055477 196154598 482699949 783278645 942677414 894795639 577621453 435684034 808958348 496869048 843130178 726392423 413155803 591910939 221665007 124035976 591913431 667338802 123114820 929343931 290040949 586646223 671885044 705595204 851450648 426529287 898740463 947341887 562617485 186658515 727481652 605894502 870011194 630185536 902413175 790986303 799813473 482094310 585180170 667242203 548172759 383951841 695107371 303438195 723052055 323538358 255786278 265345077 960930588 367040101 676161287 862989107 310688510 264169855 168883551 596715231 361870541 759726155 634405534 107103489 848766745 347567980 153066175 746071514 590797283 799703617 725447210 110391971 465346066 156619924 567829641 730377894 560291066 609521194 206659758 514822114 563991744 809190560 272942941 931805813 175375824 947852049 826068517 291697438 541972697 167903148 627016740 817565005 847523151 945194795 563309901 427798043 123409046 472198763 351068739 952410920 453975394 748891512 338203921 949239975 888130088 505345609 193745659 614737301 193043263 231628094 723577772 544955892 819373487 261649234 835472750 452806674 654862899 326529402 911008804 455349925 944330044 343057995 910661976 862214189 488690454 525494124 989675058 626944258 979441483 769021050 417946714 694792604 565539918 220404953 677076892 241730632 137411490 274735498 652351794 305744643 673472383 269900736 942834736 256646536 638105781 103096350 286782217 477926868 649025796 360156590 345497742 575640710 341564264 693880294 293901068 643843880 163442455 362339053 489620301 817755058 139675375 236041003 634875858 381208338 652910900 393587208 788360616 461856772 115739565 874004899 545821719 615589650 954817589 720319886 203457804 174785907 855146780 432940988 149201816 912197460 169071893 590260785 583519566 880344899 907155256 717318077 241593090 494851760 146134719 356719762 403598349 499524033 206232057 650422628 227761693 951876198 941993300 340311753 865947685 941853273 479586112 355746982 936864591 125358055 470106891 778454797 626675798 131832356 344493031 950953085 677148078 752141643 780051581 494909213 378396176 706405370 903192537 896830274 287190878 754810661 241359304 690629742 318568530 336142636 770178758 938203230 943748587 193809754 286339755 958191476 268221798 803763053 598100485 290099763 199139978 719948729 334848933 748380142 747500702 981768594 259600174 578970167 255804520 230652408 375050784 329368914 296688466 657151362 453165513 190311572 567272282 521726534 215016235 468042133 394558296 658131440 667159647 251571668 813509316 852408307 237974575 926870233 841759890 119395472 204651249 387635319 374005594 227826483 226614974 196933912 399066816 285118763 811507797 794445919 661594654 248548485 408171139 938668617 459835872 985603847 228469487 452994361 121865196 354745736 607307876 288934364 952694844 764840978 645944332 450927436 423924000 789840549 714539978 211662549 337498898 396902714 938105412 125854697 780598499 173415013 357883822 761531275 736425030 697293880 375511062 532053507 381819463 213494086 203225250 512154061 989833338 372650677 353016194 602865078 378624284 319976027 479734249 361071816 331137156 540378569 179867585 314732837 472205614 704699365 408901854 476507021 227027509 689585373 243693597 331366577 113293384 887379688 410634211 323727587 410467148 878844503 348428503 677698711 417769767 469653493 787066262 957367600 501270013 856848902 954538284 757561209 828674070 336586876 570726769 831869428 265043056 657765385 313246158 934015171 968425761 617549896 825274034 847693739 447469278 427835272 892955883 837780994 445548523 975698005 753004215 762775525 995550321 834958981 365688468 685570778 376822477 958365648 701037631 158433667 407470787 105610975 121428301 704371453 131365390 910286849 154987165 812518969 280861559 459230048 981404023 148108689 303635251 771279225 225255564 939538138 352653922 898049579 832556375 129527676 323533895 624882244 119250064 843559982 166175886 400103699 295028431 240434775 389548014 430699764 698624849 387921862 332693251 143482546 163382354 532925739 278473685 119281313 776335358 830430375 194851372 713824135 779974538 931469047 579454781 452976469 214354121 576322224 741699774 921492017 818323600 260968012 329266569 312137310 858181199 405833061 395520615 221335800 988882458 751797094 706013548 150769276 119298568 515254727 206247582 703924069 292299569 197031331 609048293 444673352 103495572 801031084 601237468 846939793 935979019 892185445 585911522 801316024 239176102 742350877 855551503 228999992 576408686 216137231 188134411 515266704 906506989 473006040 817366825 375517359 537746786 201825903 812164186 588882845 106746053 868548520 401436455 607987736 195269369 855526907 827113802 323470694 591660568 339873640 430772689 337882140 727250698 301434431 676773071 696240553 452616645 204297327 327649625 862631673 619849949 715036439 192972345 135972260 166741803 240281289 999497512 790234761 477999152 534134550 693552275 193935819 875303912 283354722 792068273 442465194 803127323 906577430 807933833 712735681 682469061 275943884 800910848 909429993 563129827 863697159 881133107 726808798 305667611 358504952 650244550 882570214 382666169 403221651 594110251 506683634 801508294 414843056 519145207 861739103 466220928 697018706 639275483 999281687 452626856 225342204 929802014 314127163 539381939 707571673 131259409 204187275 473257691 655183040 211974971 290905526 626772988 794638910 565127109 700283169 986618333 268502939 174290099 284694687 658076532 608118139 797459961 699109318 408687942 822917654 263130040 498374089 389671468 545059697 773231667 962549599 463596245 883606885 745605447 860445089 544579208 898248605 526374509 655400251 272946625 413184835 751210300 695391402 502389754 291775243 492365202 452993737 698868542 750668385 917598621 481871877 142309933 689827695 205715968 666743978 958363703 638795766 848298197 574571126 957709233 360229967 782017933 273893507 296949831 563883868 309624166 469704869 579109295 927107520 171972200 226915717 670088957 899197825 846690009 208313371 800829862 546377927 399642934 253988854 288960628 717124076 336062782 188953265 927458477 338153540 311858606 918118451 665315523 356591614 599151464 811507020 337080268 693453304 282240189 262060624 188087237 994300212 551290739 425854401 466975678 984671906 921418769 974281713 591411347 622833239 214007561 104192830 877580176 201797474 930586563 256188249 228599555 642472307 554319201 223094599 213134298 179593112 523255779 482990723 138683425 676249074 546630332 340338768 950273404 725245735 942653272 339493540 943814013 206143962 870346554 882497202 374541365 306215923 211969029 403016365 411050303 662619782 657477665 725612912 402066856 327762431 378036229 790793953 758985802 710522812 292357466 842632778 827994799 501527362 552411628 335196786 100206303 534967115 150633649 323571823 228284545 387072869 495185475 694780457 789092425 447404147 125928993 480952393 928308765 334121466 310987016 599330768 727644263 972000921 964500678 994489430 410254531 734887431 945609304 953268087 221305632 323665935 582610168 610552432 510377484 561491740 113626521 542540929 116508679 637020396 210069701 769547183 238818713 238712925 430013780 164921693 499195911 560408457 572030593 816183761 177464710 472932575 861116493 154546489 231684191 571212163 490462884 447222492 699461415 709437050 712592080 904732729 385893852 355459000 195835689 880658046 560093510 691262085 494717958 925701276 359502539 806141267 988130375 835857518 539026913 552007434 167429784 663834617 668868895 112040760 329110399 285405389 215069023 931132769 526573695 631496297 274541091 291638657 856232255 897541725 942176712 245309671 112879435 778527422 683172971 869616004 117874504 304855016 472144131 516163598 914145119 755792144 619745801 104449217 557543776 914840572 226593518 366469416 168362451 538696290 443755004 641531935 761438818 347453483 667387095 696402355 476678154 828000783 876804508 420020409 890419364 376341186 369707243 663254316 910757679 706745152 737022943 585835375 557302492 485572710 460596180 895588253 330713240 633849311 749368347 734056905 298783488 896284728 520391208 946767469 867561766 110891500 820578863 424803266 938670992 603212275 682504514 435886906 411188880 636335016 247010383 946739525 897026299 890594949 277032509 390149745 819002798 905134503 589961387 735221193 738864756 715242629 126801247 947785367 859610786 380981978 522725723 160306071 939462754 946687140 811540914 965775685 966268836 219912314 104087255 468754229 758835420 290941042 649506505 714892219 262486121 930388816 195361672 335915203 444581346 100421827 925479080 985631679 450602839 803465773 520589474 232246722 192899461 856262689 118949010 706203370 441026415 238814594 513827892 300553641 104871668 970057937 152230811 211281757 163021867 580229953 589854604 757753238 820044820 429192861 545628325 361474932 702256612 619274967 424538132 984582122 997356384 736913569 781602056 544157755 458987844 929330072 646263630 255034394 168176250 296676582 382810605 555548355 564350212 446818888 836036380 833412583 366710554 952675633 687371676 646627872 527021161 687587700 562311519 670057109 361714219 591185061 719756847 422744135 370839722 491850144 123313539 728840114 111911959 913702301 969559811 307362355 371101284 621406457 298378395 917346782 286019069 222450326 153865894 540076951 811976518 462160296 423422666 355063552 104418800 166153849 150826256 531691211 719972727 244850802 716232563 275454631 299042000 832547795 773706852 773643294 358300274 576935224 566228341 676666456 224500201 664193328 555361890 516897536 548209732 279135139 678818533 746112059 276451387 446785516 823593852 145774975 167958136 763019257 958022231 481085369 447772458 506715119 991583035 910689244 583825177 189632774 614153729 197806126 672337197 962285805 378673384 858879968 372933296 668054772 628163422 660185648 758024717 786782152 176635736 944164174 504602401 179914259 526002192 244075793 438454799 128892812 159418401 292726454 862634893 388917881 812411174 855094599 218010191 109148760 510319330 500586293 142831910 583713773 874111136 678184293 769910588 848395305 735174650 700981507 637883854 644121926 347958082 106465173 702509435 477880278 749859440 829257332 784701499 120985865 515901163 836780755 700551560 244015760 863311071 931664174 432063817 238282301 687474574 819554047 715797310 313249069 400323782 597128299 680773693 292196549 220446418 894774416 116183762 934945849 845313056 529781660 857650953 702718767 292207819 354905724 649222899 806979092 667554523 463025340 642226332 343244792 731914195 800715975 590025531 882799672 432824221 890218589 758718066 368058777 122409171 817478277 991444905 383908969 792545481 536883286 190792391 926427891 894430768 252004477 611956539 686478984 592122712 533115632 751937187 759070980 965002406 778812940 618342848 251577021 740720215 825189440 969631600 669993291 562057096 314880382 291127035 607419877 515387228 648511818 237950658 643980818 975131077 868624211 930873028 298137930 391134339 770325359 579678464 150695795 446157714 345013509 914030000 496127771 399387374 718503792 869071031 242098414 623674783 215984397 357878977 273069146 737589967 360643915 512151057 956739175 635885282 694413452 669725660 376463550 798056062 281953241 874878921 707234522 609769937 392153208 135967306 106243017 821145254 410733266 638661252 408428774 194014361 140617651 755315640 920775744 103300203 121207374 663626343 502728927 326522611 499144210 915152001 744640791 846545955 901651892 504169875 664453174 777869399 691382866 246263834 322391355 713339114 745319509 113241585 150714964 909650585 648695776 357039062 287824829 856013907 125825838 520532068 752199832 278967518 139500304 247720590 973252574 923073368 950742008 649801560 905642469 109398562 411765620 163158150 467490866 930799444 663550071 255826569 107787693 786580393 192737312 880874196 496622167 242941841 931473998 383059202 856598351 982263007 500243452 740231153 550565188 140025320 104136363 647287480 721078583 495318586 756729300 871234791 423367139 668652484 609070887 864667296 461645400 782279059 727046491 864737332 606512692 762212111 162261214 363772926 218296184 944250654 361804702 202141856 934928445 727422738 896534213 874059390 310205049 197756942 870442995 429332945 347064482 317691027 290839337 213618492 949678678 245438579 612663411 537280773 179688374 797053817 663484408 744807728 958573187 383346046 477250633 541200149 405691607 729856304 124747608 788059914 481383923 649838978 795534412 973194004 530062182 624571543 409252063 625222935 763184183 556781532 664476508 832590762 115891870 515983378 331993153 872045311 769947220 861183828 614295237 910751603 809129779 190886046 383721615 638415382 876565735 363588953 923328440 320949041 659463651 278519669 153818777 689640540 258816819 354204150 826460061 514703221 869232224 712552607 890553154 339296434 973266439 436667645 662029054 251310415 344542730 687608283 327465827 185253717 459370803 581893184 894107126 432650102 547823450 767114897 136981521 435812417 141101774 637755121 242487689 742231196 685473817 235816857 732349680 322425950 128049885 789617100 783073103 231818487 639680981 630008996 731518248 474993425 533422248 606185927 415413929 263245680 877914928 398721127 964286547 382136643 726464243 229306787 284901445 868914356 319180070 516426299 836689363 752452223 499115592 911591113 594682834 327372130 723852793 543383252 474569688 248279770 203910312 306935329 587102297 227452478 108424269 321091541 757736705 163884702 587177300 599270357 545616758 350097758 612288242 362062024 557604620 701267687 178758039 584737550 178437945 696203948 184620345 716574835 534376569 780774095 621255429 462263156 917973026 611418378 870816614 452166399 227526265 795325140 494226626 466333299 568144030 750922794 100286796 276289184 636396803 248342728 645704445 886338647 516836618 568083817 450719028 585136303 197559760 312439960 371855603 333444263 911055678 128216956 749291379 468715043 916119086 633669398 728776201 964772741 663989424 782344664 326413758 811778683 847986384 419857448 891664914 348110761 663696302 859709613 523762103 439152577 152705441 772819510 310172765 311584277 532081245 483600517 563270587 279011938 216607134 492614051 148704358 429359986 964196041 438329167 750781587 970039304 603756520 132014097 360120036 569345193 774265458 777122661 994752568 433591647 683320472 979400098 975478082 171341196 534138447 507632359 686277866 445168197 784781359 369086235 838063507 305007462 880965217 295743653 205178009 125805152 570136708 287091796 266243938 420060547 358188766 489042413 296934686 415983247 951679871 739172569 108700145 477446127 613425942 619550475 957360784 879739271 467431605 151977887 457598809 470554257 282546556 902300881 359214437 309831024 860670240 786669759 165070253 729423199 790038218 986244081 298833400 616947862 699868657 774196267 193113576 930520703 318272230 262311527 812024750 732153076 289514899 872590603 265044042 313311593 997468442 120251050 945494905 414944315 532661428 136237673 996831910 948133268 830137765 967402334 174142381 752071122 994555648 617627671 368759832 544343852 109642334 118026371 886830291 981137840 392063682 220587110 892962144 510967993 252832423 528949576 255542422 692454826 902708665 944534489 718899562 235642373 638120871 175343049 948002450 229647492 434713036 821974063 650706228 797494601 581828937 811320853 638616996 160992918 292521831 625405395 134286968 917785666 273579496 265740143 117779000 150147395 857917905 427012257 199270186 109747753 519872155 787118872 847790249 524655588 889485299 417399001 625438566 921954068 958779251 317592062 123166752 127888502 643699837 932889423 527273645 527190288 764451151 474675704 249891655 881695152 494623093 476223354 330775635 428933123 444881387 455406108 305209492 327860927 703417991 790934167 404418908 788226203 912937757 137495146 413904494 549846162 743710731 525141376 384854431 882172751 686160537 890644190 681755082 271292266 136871320 864069315 927721281 348786368 817920815 843608594 364969059 638195663 513220529 993546506 973203557 205835238 544454903 275542796 284293545 466498422 274856489 638385963 785764514 998338769 618348594 452403711 757499369 380591882 542969936 489807528 404735610 742635656 501818739 402554929 250016250 830617938 659815076 192644893 553879696 365387147 507841714 581397971 108456148 313492405 371121753 403367073 349182700 730447593 520114246 127703751 313010132 410140064 899593765 205525955 191575835 846717186 362341997 280453644 840366700 913898338 107371178 403807422 676908605 668926521 968399965 469754444 894991252 119607656 712625325 129640234 602087403 910988321 575588737 155641904 341512284 306137807 640366532 642930813 161816015 415864069 918664035 391860985 878468446 868572052 618054605 511204343 866659789 472587229 278717595 184275143 563054221 423980090 622824791 708834645 825439630 148773211 383813568 135696896 905363515 573699957 842825710 350738134 249365671 354126791 837014350 566042232 146020513 998332997 357857991 856895219 397188489 877232992 524286245 262570277 168603252 211210348 639560847 618037492 314338014 434404332 921579007 990098694 539936805 714892664 284776721 995617587 631249141 449008959 814044426 260945811 502774478 166402714 444357773 589591664 141801435 952780812 346427894 118882667 242382947 859797405 917229854 838907059 695141942 987278632 808114811 225622604 370810193 266935771 198765291 823902923 107323605 297467329 231354159 690612856 626336317 343093248 351755625 330134244 795937862 161140675 680751179 486391562 587417453 545367193 258290964 292650448 294717163 752161370 253039540 632304435 907817915 206523800 627915288 999842529 868717187 457310199 737628867 246160546 858290365 470722515 444058266 759068273 197746647 137930401 102592002 710844119 489286369 336423119 477040148 671116554 525690748 272404752 119968288 247020376 154790173 637969348 889985728 649702033 310146950 552055431 158803809 518571597 661958235 522500535 146549589 995112384 877583853 405186452 355597870 418165323 434428892 340964719 685039193 628085423 936993292 744035037 167458632 701675505 249777732 961236490 816085907 775784955 318786654 515542353 132895925 620759922 114922555 590415729 615240490 159866646 154874701 413857014 369381923 494728801 717345482 905646649 796880420 545983689 540548479 314891802 207748958 301797220 409522988 335067340 989508666 239870240 419757701 761209378 431713741 831338860 601993447 666519039 788837923 780544372 100655117 599144649 738044787 510428055 781588019 811729718 557542473 349418118 344959453 218670742 791143933 984271206 254137106 897321333 868596553 166857532 438875809 834070431 150006955 910112435 634646214 799231499 605327580 401924636 288056768 992851289 718671300 416916930 828013009 645257820 622037162 371794595 469123501 534542766 704173346 371344497 788876222 272146872 473258124 108685466 626528079 630151610 187612669 153791497 465218597 583690899 859746640 208300992 783707797 814574629 568751337 490594814 662829518 116634952 920556236 829459747 926434865 419537917 945509739 797983018 564719540 336674103 420018992 408888781 679872918 355738196 274891443 294005815 881507454 353713261 137047988 582332581 642824794 142094221 212421067 816928010 119642626 814723927 603109171 506456534 364850825 808796359 993161011 868058227 264795514 210021707 580352817 262503349 861672091 104814051 793975567 794092322 249525951 331407764 794676116 856960351 326188113 510238061 282669258 808013462 332607920 535107216 485592909 217150956 567331802 853338825 358445211 876870175 532178514 798247332 832572235 848106179 782516859 684702643 923535840 385090903 973040548 711914692 552871436 223493391 350301290 779477488 471944825 747399614 134577343 745832067 188961796 133143681 899976072 369646341 895473092 741586053 213865875 628619427 270811798 428278895 621594782 783163449 850051099 801213454 407346783 202640836 314186783 995321618 301869606 425997282 456084532 280635657 290158576 421462085 187624839 106045889 477490568 426510315 339935391 303035935 198351276 363669562 224229113 118067607 922291877 806980403 852107731 530071233 506650179 639461758 759396523 594289472 607994130 200069835 857348131 838475520 354711888 921799842 934301248 923785445 615410819 186691678 708591137 303269836 395039248 470819849 488792845 549647437 380615002 880434985 475422954 442010252 730390151 964186782 214494492 439682757 619106050 138983002 334464675 902999179 116080391 457802366 300024736 480770386 243017976 760060927 590015258 790673001 329463451 584065170 428613951 634998172 702209760 226944404 902840914 616949937 934092814 474210828 863869035 303985791 855549547 230475066 986910217 269373385 535967407 618066856 552935565 917328996 325464303 476373917 312104183 739889684 724308373 744341121 590697665 169914646 525711273 717574152 227378838 492231011 474397066 789267880 399777741 399282773 572436857 424992674 794216484 958859700 539791808 553596722 979870212 681510693 789480435 785408589 830570801 498272466 429682768 526495354 738875140 847840944 930232903 147134178 796750353 944862576 927850555 525099246 518034874 503505032 201970799 299813602 632441674 466636047 553184626 251784896 326294137 426904297 305636615 354079310 683593712 535438705 705694766 178120658 162858561 894322723 107908649 307750775 734832772 751633609 145986874 530928468 239941244 634167901 983389772 816910844 686424273 116816685 884356929 482476337 247497407 444225553 669048929 963426592 916463594 718165454 596938952 415828977 672008771 480052441 359682909 159881485 897713834 383361820 439867475 304805230 773079391 103979602 421456383 657650827 411917769 411014839 506787256 664998787 513192666 762140178 832982629 512328675 752136212 946171948 509133272 787170322 310354618 508231091 242126826 647879269 837443475 287337761 612769466 829947782 678328015 869950431 891476594 815305998 270057366 532617028 143736835 866465430 172286181 529291860 247258070 951135130 335927591 325222828 179645027 906546005 636633843 579488168 952999815 158394388 308008034 397768820 614976065 782677244 770645123 384196341 376294026 718237607 368629469 521785079 134930629 303778061 233380691 928127025 590060757 183645622 282057630 238391685 499261172 895030360 691190603 512052992 120088996 455156852 349001224 377018470 489949007 324041091 514139218 885805446 661677500 289087888 628887874 446768979 689012770 464129623 550127105 826350019 262214817 419269256 397727258 337839215 697322943 776686298 211906770 477536138 187979160 625702318 985062053 950385618 792729079 607455321 994033039 975611102 236264852 926434555 230062236 862640428 320621268 213967764 723169321 718878737 879638822 844809628 565938481 362380471 696759408 460041716 906130419 916163153 927528093 985650591 129536165 435595376 775401684 835086945 372758590 111239232 198975301 788833354 765606167 544669946 540334662 607333300 160781330 451440456 211688732 308879466 574986541 720527230 307569113 129770852 532138220 951684578 779223062 706179156 953737588 931315305 389982818 306142606 775812001 811191978 884841670 191861580 481327273 555914470 871398348 422070972 335597911 542945210 389914905 618380997 109637440 814710411 561954074 865424944 112165870 701658446 395482380 268504454 544869557 313972169 153385681 197482917 913626881 718631557 532487319 826084700 736657905 493842533 189901158 293793860 771106943 947853626 892421581 846845822 332675266 426786133 235372324 189226838 495396624 221370662 338965230 647544362 710705965 742007966 671841198 979384359 969369825 653761193 997011217 690125065 658160747 740440802 460408570 666427463 911351469 421042999 388498367 594404200 631875665 521502588 703909031 528275594 242011684 365454875 706116037 890823804 201908269 727364581 171289399 414854546 414680819 330003783 407544989 749420166 686238880 772750208 833376411 755813614 598468823 611495704 393756630 719579395 873810336 976242359 458316013 142321373 455754394 664290347 762798553 997219285 452996104 475668874 736696040 503193409 771463019 912099192 927601616 718247829 243234926 877347828 688341749 810043347 651228260 577027305 778722218 323044429 741916588 484998655 822697364 164229599 817039583 537267544 169132664 174424195 907087495 622278772 334530474 342561937 380097143 873368700 504183351 123000529 233903403 942999579 362780604 786305679 878955014 679507126 287706032 754833849 218887758 349860723 807053871 523267572 530531020 226481223 399694179 789247713 308804244 778482081 567147063 174128923 600194664 391307879 317703284 345444175 791770503 166191894 928442596 765007136 413265462 164478052 682687357 595078504 686888897 662600464 499645039 242777670 530965041 312476164 662878691 206505654 816031677 446462283 329530850 889901982 131607271 215350131 923693418 369286423 471395945 868526725 416592386 895758000 872819193 565655424 949249995 763533632 650598490 863690885 210285147 289005939 832293706 374172438 129197449 707675881 645528779 506044814 524837515 646898615 217783130 182061441 213147011 499196898 173962364 339875574 770799906 363183698 717999692 355255919 604041932 586933315 817843491 992948601 532747631 339686470 200956389 299263004 277688431 919856688 179593285 548470981 211034832 281785243 683786885 336422768 577695515 709154454 725090507 147175587 271615657 469757464 227506482 301969655 809854959 101429180 935894352 169197936 548840081 232705574 732926433 932446134 507340875 507196529 711815054 486579109 389486724 103697390 946814478 149962984 812792362 320662647 672767888 816994208 361329333 638638765 902418615 333798167 352166838 381861739 809601822 385939840 330124647 748320605 675573595 824248297 260422605 347114589 354826002 968635816 115098064 872853941 506595890 423858577 983464253 126720661 345478463 449752410 761440542 773071215 353118651 436738227 580032769 644676057 790901299 313549378 514757024 896624879 517182970 984621662 276268886 396661633 116940457 272447601 282199436 898997396 686545999 670051459 885308679 350346562 784486191 116971707 566649574 860476246 118030067 314208632 395470767 111025900 215190016 836072427 400248639 713234931 405151544 710861790 484860114 256824659 288247840 612377769 859332279 477510031 542772673 640693079 956409556 349764825 482771810 295128455 436668735 840697272 495347493 424503345 759070806 824272783 629767436 888807513 407737145 262477410 524089566 320916727 386521031 854263949 888849659 989079946 582069170 887521844 103837224 974206902 594936769 300509012 165764974 167476740 715549578 657275267 295923795 544553261 800278813 523494729 836529791 352085639 956746834 722667676 206115899 316688092 872956171 356450095 481487059 767976796 981236634 552761232 568215356 159621390 278291107 976123434 734294569 333849774 703235229 134373190 741355262 860801480 834964944 451664179 258664015 965210760 752864096 549770203 752668049 562507981 230948912 699057412 190315147 958657225 991130612 158442312 311339568 521546844 119776239 325339719 223005832 561558327 990759056 507137637 471847114 179244185 722065363 911477311 788555695 752915938 120354371 652047662 539345159 924869794 612034790 671870736 268780876 612896789 490877159 771913078 421661305 905460635 239531944 984356760 922708168 616015705 582363588 244716725 198758032 912703178 581311559 231470855 250240418 339277607 828187442 174520821 624514060 793376879 704937239 987085374 956082521 685556568 819698346 250310075 663679025 679470283 209249768 446869451 884601235 730197085 933292641 235131952 679304199 404154054 861673400 955857594 391306015 224587603 958397494 917051402 656880280 642228490 796885796 741477124 149665153 895990770 386439506 857940927 377630978 271531888 634928501 535678974 176797041 404068498 893257809 695982291 530468905 227077089 358369987 851738559 144276415 722157566 665971067 236554030 705186663 558342721 380985695 544891980 352113797 522384756 771978299 407107663 691646054 720254987 186448389 176997648 545766222 170883209 549497339 286091588 373370827 936026731 656152366 539335927 190192638 991019962 527913494 635161863 364653931 407557057 994655797 828943867 948714492 544710831 457513786 784096428 722169179 705799311 451661850 394315695 237301833 979817609 113541182 183978876 885025732 919178382 754028155 128866645 897694377 957248708 311305849 952079090 234531117 962573650 480052853 244767786 986011738 454683790 216415114 460106356 754056546 169461819 178735145 715909398 239666863 112117767 970935304 673759922 538384550 506743298 464302359 350573484 557874577 509786464 678836582 126596531 907751980 133067988 786001790 685926779 371533257 510896421 816201611 712511130 946111288 677890296 854824639 254644157 775655579 838387723 106218796 518632056 168057383 282326957 363513446 395526264 154283584 406285050 911919510 765495703 926954076 514471520 787556640 554059955 363575240 589936528 553208306 148339305 979920485 129962940 403771496 238050262 522580218 598989112 702248607 555339176 860726109 852978458 253636222 201515232 495566653 732117452 231422550 676791304 824848265 586630687 402045875 577980035 223779665 946699589 603262202 139919397 602392562 679091894 726539516 852562858 134763065 494504001 876841900 893499621 219776291 162435097 373301465 967246078 128079203 901139236 302508480 913219626 217789697 964680052 475448594 199977508 382568111 902446660 392149351 955712946 813937227 296055031 850501916 745123842 178766384 331045353 590111129 389724837 105429267 344520080 498598556 280732843 234530727 936729390 781370693 632422686 101936854 974895662 951560234 341818218 779217604 415607818 563938966 812051046 761272533 522982260 637068550 466616923 966731885 128854719 454008166 777280179 773915824 614493745 548496439 120239475 847091865 843919590 169042076 977124314 825909844 997202802 597588993 192133040 125395745 509189632 132338306 562279532 776708355 628951436 651865855 106746676 877804438 824345861 748314733 770340284 961639989 764071821 844973662 689749880 602149961 120559453 299935811 459506772 858357180 658793715 237601263 968219178 441796059 873012333 608845927 528016864 398408938 101474822 893978878 883321592 308597950 535550585 128475397 501380331 281113015 195164415 691530812 430074132 793764479 535624734 134825144 809756221 969664034 777989567 788091829 445059911 172622432 641943690 335793752 238531270 718588567 815774649 817615751 612245135 184841117 374484467 533861474 225483216 402346272 283583286 613119061 528933091 249376415 655090469 415545310 368990865 682166403 129560869 739354547 479014534 503280672 627744187 763634448 257627238 553432456 362149276 255369520 876130348 899920251 842584790 777987302 891157610 270792014 801723965 512750440 870402794 468799753 182535145 173756178 832570934 636642682 889453716 455928073 693794338 668173404 958528501 740675831 632450115 132096052 396036069 100875020 405875233 301720112 884351847 219451763 768286622 126647621 288904484 452988636 902393255 173533758 561347813 704329374 656023596 437689490 600488200 451958114 429720994 142180671 304150374 696559329 966861080 179502470 266813001 758511173 962568803 874397326 393881725 160723246 395849584 952706171 506808687 256898890 224891790 257700309 145462121 565851588 137636287 583634849 714499191 122660975 134541658 143011586 731977734 404806696 119011196 573380991 939169096 919193580 726976600 902837723 389988146 237109403 877510095 103403175 656327625 800025291 472030650 216638776 162381391 307495243 314953784 817760646 890945625 434103831 728795257 910091318 467213014 273035090 563650801 871455646 767591225 144572708 967729756 598485171 662056493 266668951 644829844 941084414 849898646 658182051 998297325 624482208 277597393 815715336 615509989 477894111 857004503 461571842 596517892 549661613 493684632 649994855 186328453 419871949 270494267 534983203 778090085 387956109 638759132 521029148 722159328 463697851 952344526 254853113 145832328 171171706 535840698 585183236 440295035 389924742 363010994 993208904 487507585 675981814 953340761 173215978 411932774 146602654 352630230 763154863 255392264 671521710 651506854 539063641 866468022 222238999 798362171 275497596 819101306 933541970 654094766 746951738 311802631 183741686 161012982 386125690 696486018 795292348 656787160 273914166 236410274 927192327 858303178 678079377 218993515 271933397 451799079 983406105 108278384 982737561 443046034 223300048 118273816 788180354 167369197 355730064 359022479 788028902 596842664 764343013 203143917 834663970 219984547 617565825 447712299 621566087 242906814 619102799 451955717 260481653 283718192 695681239 594185542 688996291 397365619 246378343 820742677 412918477 304973702 183512051 219548926 490532556 275270322 740581039 471413396 381268146 735716610 175956069 602526019 159556561 694391476 741605994 335968873 871657350 560737302 795096200 732035544 733752565 822834855 678945458 496995776 497389424 392374914 355363123 696058409 872189081 643820897 230959990 300340423 538354209 457138503 662934077 266974284 949104848 601461704 673818186 272151255 190927872 568245038 658520899 343252019 845027063 185386237 213563135 687970126 364132886 968022392 522603298 161133167 402930892 271173991 947699377 480754047 731991504 120068578 652188419 517586619 979030606 491447256 480081698 735435680 976088068 435375601 478174987 628266435 930576236 304659432 385998190 986196353 303681804 733587645 600904815 626073038 395437087 554182663 110740825 242150704 552055164 686615793 615789308 495001297 452154862 184327971 213359527 731682323 558426556 938878685 736108427 554547054 564282973 598689777 691265612 870693860 390942339 617132133 854823888 385093776 799740304 884664487 415133687 847566556 431067587 358937224 442620435 109578308 950229906 494540326 298177955 107361624 706443264 772003677 799147973 307862366 785320202 629283903 329224576 852440890 869667839 435982158 524410050 840371589 983283321 516057650 281312419 807060092 147128740 160843711 129227744 960138677 920538732 503883416 782981352 995419056 747483232 148399036 247085730 472381268 510267147 231722618 748333876 180263022 680180720 668341255 998496926 272280713 573622266 831381958 287775595 146775749 104747552 511987573 991039342 959250995 142968189 593094123 801135152 923149447 473891894 302961213 845791825 799074534 262340580 289133269 889862473 553018335 543632023 314836901 540633210 519751024 289342227 835365289 651700508 227541090 842399850 366882081 700811139 598163616 883630353 478161309 249008514 248925897 407346674 314822261 520067376 762844559 195312796 684817214 333314190 200564842 758846422 148240507 436257904 137093340 737063748 406955464 553649371 812238648 532547240 126565550 865289733 531805567 149545475 639198717 405157824 690508562 985100402 878455306 570394279 864172121 364848456 218020979 294908234 958287767 809872276 129902478 186051450 563979393 577841100 835903791 861187794 122025098 619855695 326856975 463124814 871166725 819349826 724710149 230952070 484613925 983731957 243403712 963905798 791377142 303553538 738890387 864526513 778589621 221856033 138813364 895515386 268688857 320052102 424907177 150470179 183893202 155194391 911265996 433867059 302584066 741567798 387058238 110221585 318393060 646839279 412613302 829194958 639393451 788368861 774622099 943661618 417239062 236494664 468049764 376749832 591217559 590705071 939962565 546065363 715706585 213837560 284240586 611613787 752742836 428526956 772536828 417217849 700407302 333051268 731884858 373862444 791715855 615192035 659545931 769803856 662120343 120148623 969162849 608928587 865719237 834797448 724214264 115683772 807388313 263559090 542599387 473932716 490857254 263743120 754531703 223592073 203219163 937120617 254146368 949792510 203305201 767558472 931658854 467059974 501945569 365354711 131420630 386782054 919925896 998913509 669071781 595833271 413549229 427937195 779108591 687083507 385027517 915820255 376408349 170389141 864536672 454929799 868899240 726766463 251728666 969197293 890313512 672619988 835665995 201675355 325209552 585258798 863394100 504648521 462130345 779737712 891721324 564305566 390974470 517818029 752718290 606494493 181121041 770919120 768614135 601635141 344106386 740845334 233979372 484239803 143788511 606505467 461032959 907491281 404715205 952631847 859622059 201175370 269394559 504708717 557468635 776134242 819408573 924976131 876457824 943065517 129106111 900627120 833584667 264617457 335099098 212178805 670216274 889344254 957411784 949985208 907421706 204979908 191832222 239308594 717989976 104219896 582827836 669955332 348001101 949584117 213079771 646424812 238752839 164269665 586691693 665857607 350056236 215644610 894772816 730492298 795753447 478760028 404077214 674256702 771139905 592800754 363909516 711795625 562341432 294881754 719022928 111130911 654772215 433059383 695113262 724880748 578384876 818101538 672835343 633678089 483504693 720089757 653876454 813734668 582004619 910349153 396526529 864997924 198984355 571089446 259171711 629651898 825975451 999417962 193880444 978148904 494732051 458398405 179532291 639738324 181273221 589794348 189715373 882306810 546215463 600616278 149425065 749893608 882261799 559768677 925745153 941926331 674437550 503520993 964585985 689570056 256133665 606847934 352855406 556938793 826802901 662782700 842514647 591752355 418639301 370846197 175763258 226867635 934674460 138717435 290298214 512047407 474234827 450597589 430443165 897557839 297058213 837161631 933486864 364242633 149357827 286961395 555347473 292742856 945398829 493182886 964214351 876919253 158700028 827814101 624138765 865799251 154792829 136885806 787654704 831846020 482787592 218549961 115601609 144918878 326234483 313457795 903442521 456697188 627744000 236117944 951553157 258201648 610261146 510580211 638709890 451272114 883752266 382298049 608787993 338165314 453042355 256110093 436416663 693771029 734539977 108302625 282041453 278047024 556314332 851922936 108216685 483994830 441215012 748244357 475423653 783717636 293145093 963062085 258013899 420323089 116744228 122243909 723335188 640224579 245895183 875325620 367399294 155648698 694498548 418062896 431215054 463948650 704552598 844321316 415949385 948527932 960615180 648942966 499203133 864728030 372800261 259257988 545851282 773796766 667064270 853421001 872338139 408384107 642160040 780459054 633875401 639889565 213177717 729042295 208801478 703553529 729387851 136736262 745103498 518897179 606470035 856502004 729753488 967261238 873618015 416318977 955969842 644764627 982588544 513348141 120562267 498565631 824564452 206986165 636925949 241241364 829259411 826143541 730626262 398786788 195313175 619391012 798509016 666139538 400192374 109012397 595093872 923090957 263995785 859695012 425849667 766563461 673581536 970419566 455627593 424440543 643998510 382846401 672126439 817482572 489258579 738917595 334760424 715348739 951132967 404963434 640685900 657427491 849681467 999493856 817784708 134060450 529041757 965069935 545109766 206922801 782338812 630010978 929394582 704920814 949942237 887578736 590121179 797253409 253580414 980703621 410774334 772142578 160799798 508229225 575454933 293677051 199911219 935770811 576765581 293801256 584445774 103883956 919940038 958210500 186485757 973914587 429191433 342873264 602238784 519357847 745625549 672777147 292366931 986768614 546825250 934819355 615817855 279634324 888453403 379511830 914334041 769888813 495840417 404567582 651631842 714246887 567621464 854581118 652649748 532052895 245119191 284396243 784981012 630041247 906828589 881976057 180109061 581687531 358274606 691774927 784108327 394685119 105850715 712469535 239406410 459000534 799423624 227411840 623445794 684561775 269679474 476816520 725620386 149950418 242407924 697248830 690603649 162168927 890818312 263281851 763129763 275999540 381674141 404772383 900584770 458646651 646279230 363652377 484258977 123369025 552462043 744802977 722130136 803437836 936318560 688047244 967714388 582212417 444884017 739803787 958948764 151900946 510154189 136392677 889475953 787511917 143515589 860086998 483427028 564314214 194390065 248297704 581490291 707930685 568262086 637903000 542130787 463661205 227271989 203506022 182827901 129236482 430268531 356137385 246652784 163942352 221389953 123198977 262593433 618254316 674708254 204015528 157717538 250981090 774950547 137092300 643254343 873163540 410321729 916570830 741925700 830032558 597072992 648571074 242503233 790233528 425836006 175184585 295055013 804310878 763902020 665460613 459664173 237886801 788021253 493552700 140060832 130563231 224172237 116988290 423511125 207098695 413460448 530620103 243626399 690471656 567663364 975830918 302317796 768003238 743336088 804860401 719116733 473056951 344004676 862642407 559357460 565083796 186323403 155316380 250070320 320661698 700655233 748547649 903419777 594114421 273509464 614073154 715755537 530987119 958739209 566324916 168815457 378481751 881420667 124455675 338077787 326440681 299293561 994133592 670506152 257408215 784776292 800822253 365867015 852003584 687093376 402882471 571530061 901805071 923167669 899601679 257717252 114276568 791192879 492258784 874666458 384969874 794710763 699491069 657475166 132098021 290089361 547501091 539876401 244015171 476363902 752208733 312736482 945474083 958631499 837506750 550254453 704609448 913860174 173369399 409412334 496375016 144405348 779169187 535017636 522392953 775509215 930347170 881587259 527589194 484599410 944067008 648350079 198002911 513921009 336228955 609920511 581091336 149282569 786334948 216692448 174701564 986612889 776777445 860268809 667351933 812163238 557923709 127449471 645550619 111982158 565233935 911970074 213311136 117387178 591901664 741535816 424536579 836464318 811923184 768697802 109013886 866183586 172189303 318037048 465108273 873158104 626797437 996741816 755802106 955906844 924958112 240960453 852712494 686013830 696138510 850906967 252505567 751945363 459999737 144040156 959462121 877310697 978575349 159673110 687603064 253661799 774966474 794056693 714453675 114159239 883534930 711677939 870187798 988294482 494326065 211303778 940173427 330177604 842215612 451874845 881481234 552242783 393161647 951086780 247424003 453923290 412213236 335385343 966809882 942806470 506608929 646739984 573812838 281900084 316971369 849898868 395854495 491415216 319773668 622876990 152797428 296325418 587085974 251717367 961218205 240215777 359024947 552895718 251787191 154783312 121025877 565822708 197324933 406702567 746090477 324284906 366745759 762496190 139887542 839488315 403312836 714790134 462681587 332572504 255087046 179254339 845413839 403465393 254167672 744324210 231741778 411931473 339819486 325705482 829796329 716691532 772492891 632861666 200409545 161089036 779784408 977662824 211998278 920068412 886869164 661989465 817736682 197591515 284309389 478398588 195282638 564232048 701284478 637520792 700893154 966551713 812533636 401772749 332748450 365479145 331479006 423811377 119509145 141227224 443424176 633249635 334574446 879919356 788970865 961637578 199340356 851560229 391232421 687047517 163107343 736488035 915425897 557841934 219951634 965772788 915656396 686948661 977610625 461107191 775356848 311820986 800471986 109374951 217614737 559827716 690714064 892018134 904655435 984814229 141702899 870140861 995976315 386357272 726219467 942479658 134632101 568350232 446352139 946190894 553828731 685712162 108050909 666020013 878707030 854855314 856304385 541122261 795404180 681009551 827598333 518642441 408960560 665033803 954789648 216551839 455848467 186406050 772944798 858667433 634223399 152346704 958166811 644174961 167345036 829483758 354728303 605963945 654309485 921444680 680683192 176488445 502909450 165924685 664089822 323706410 506933049 923476865 195580840 775804436 612723391 271988441 209370351 307800394 325727229 681798722 996157957 390058161 600514283 125018325 953966236 867405219 391923977 167240844 816642540 615861927 849645332 383534854 245820038 472545984 953455240 294215040 309398237 536205378 964086644 411390753 451517528 281291859 809527302 271657610 137970090 797968986 445110934 373669262 250643388 692978418 946871369 270280871 908102583 281394436 211369495 123941026 284383045 206667930 424475086 456478150 948188800 987198262 469440480 789926819 736209789 811598816 983104225 390407980 295264881 890618403 902503644 400919891 283812042 768515765 940165544 719574974 514453365 507351435 948877716 865916541 962215948 838622728 490510871 130176687 924969115 690911870 879682901 698136639 282695118 431870202 584956763 284036024 579098215 128170748 574861268 511560223 308685572 634151888 447066431 399924929 278254184 424841240 503586694 673140253 824612691 548235431 647229156 799743394 587215746 509486004 620086043 978158705 454479040 536951410 403436476 376680646 644124604 254947072 437842436 571167858 989282624 843322669 556661096 513431911 242517665 113431785 277178954 932311902 585119654 710284053 448906797 527556914 171104856 289535280 147436379 392558098 750430342 919719123 819826929 906501361 983061529 283765060 130780639 474747287 472452886 892813640 485667854 364299613 736454775 891268112 372945370 970866737 419063555 134177959 593395233 703514710 494671627 906322845 633340668 730467547 639835180 252919885 240225097 768790172 230047846 502725434 845487451 663119751 113383097 565052836 998812325 591538214 424847906 588181953 177859778 541571592 766177519 355242859 589649135 134880055 972183793 885106174 701149571 110784332 904687129 325709153 311932503 693140603 343581494 906718278 937143231 391033593 820912429 778937666 612203905 219612708 652748222 808330729 407866693 707467838 427966993 898176629 530493003 205593951 107162859 261893179 839509193 427226579 500137049 246229965 402919304 518913866 630922580 238808586 615766420 981553384 530163558 652862415 273824278 312411993 298140192 478962753 180811992 271382585 736014211 844218000 172604837 139876813 448204031 415487311 742446106 275819945 163261714 770203998 453587606 847067632 392080981 750540954 473674061 771890048 169770376 577106296 889570254 429685686 376712608 181930964 124382268 448261804 446516232 840246015 941751779 220534429 590695730 210883548 180300546 424456202 569108302 592308702 256244788 812329638 738994660 306025723 939299748 457798792 242044904 373091774 123564747 328952788 789147843 993268354 165153732 936047429 739611804 289283605 363677486 503360497 983621234 385212381 205913704 392591337 225991211 762070528 306704378 954185867 598961416 415738711 479132091 251967526 573980579 566211234 491954195 816866847 328425179 773345017 640663733 237054149 520277435 267091184 422008837 895625561 459998681 123604580 293528060 858462146 887719812 651331934 186467361 240803002 614992470 234989658 655039907 365999741 622277552 652263745 188145884 779368645 997692595 780060874 731813450 171795382 466896978 662482560 766556331 515076150 730315925 213589338 366857304 269343964 269118740 455324556 601915624 130113834 914266615 230590327 797251616 699272304 792565367 579516688 739021568 105402702 451796840 634452093 460214477 792700841 896798745 418290775 928995742 269625605 214345925 658571853 182862297 868531579 554342014 536032649 774726594 207114629 174130324 732424436 569565308 247670582 491641901 677110489 541626163 808492020 471938807 470831521 796213578 107200745 923303460 785275662 638848967 130013713 509488795 388847400 591113976 246907188 446735933 205902512 600101788 341214553 512055442 665840941 242910276 872043728 864363016 153876933 691557320 567405082 393300251 238492437 740759784 189224728 769171123 389950953 855242805 284641674 437931293 480400675 743111510 786335379 709939267 911679965 317972178 236490075 753159800 340862337 139841404 428645718 208910327 836639385 214149735 270859807 511265421 597565609 465729366 941771552 142488377 779354086 703766134 218512841 301260664 216062460 953539342 602101126 597024587 924074689 767896547 505487677 850926409 287339517 258354857 396290005 609960673 680085317 335669270 404642081 897296775 306981456 263385134 278230226 514871322 970202140 924000148 203762270 447892304 989279033 262739948 681344392 863389854 494479664 638446291 751394582 317758436 534409244 966367441 227674330 626545457 372910328 929993182 581863280 353264305 301428660 892706698 386410709 880083827 955686165 272384708 742547572 597351026 343512870 870188828 124535790 602566138 568321692 198192985 953220992 967793171 113193477 597889812 696888239 706221081 813633906 620685744 538433750 945335892 172791692 928710235 301079079 932243537 224045645 388650495 909128398 385900486 105733671 855951973 948264626 348644598 643390999 738264060 523311164 902622920 358509698 480086180 921979771 143886711 767267388 694847277 716707806 691162924 335006473 234636661 634528600 543771351 735008565 724027718 882306229 639731453 387568989 979039591 478515434 150794425 402028619 667818513 182602797 212177214 663850551 583845716 400999144 811027787 585950401 405846709 660857139 865960799 314227353 208869983 536779713 198978692 162573917 155816595 535953463 715488794 389787637 178598681 787544714 934903118 840676473 740433389 918977786 770915646 386026331 114793078 401559284 595753737 423287660 311421817 758518121 442251070 259123861 709420637 785716359 620288051 532291137 531697846 429589700 197471379 296028794 260423978 492420366 857783391 211396434 663489752 413847986 376117370 501178196 534951857 117948565 762131490 881033774 501272433 506903464 438858194 867878602 904372043 533429832 184212650 618452447 383638054 917499971 917705754 249187437 237246246 610498546 877895802 516239604 108128941 112267799 928098564 152448465 571756478 961770026 611723090 402588232 732668082 745810451 520115922 172824840 210369979 998141831 893838057 911677840 674926431 121062678 134115126 996817915 543106544 722474380 785638026 534569378 181018271 457717033 682898042 294291375 127179544 477733385 261964789 179588975 696896007 299185157 107901982 231900442 411367485 245875149 701478268 384568810 481261708 918459870 319167366 304026430 371247692 256178535 653249194 368510319 738832734 872803756 562558220 627268564 784658026 846599871 454286891 169766016 168066451 845920063 721477068 311493339 103126875 993883042 664118093 291056886 377367263 253421408 544821663 258043389 825385386 455983856 132487381 898548571 322992550 637531651 997688319 473103280 225060768 492186397 368206785 211648614 917798429 358135753 255186134 848770173 550487318 110129896 697451166 778221061 968780116 963295777 912604716 679723364 235592055 847962196 176251477 606959221 632172503 435634561 237836140 421122270 879371710 138460641 505248281 761928227 107068612 302111175 889915371 937496853 337501763 894159464 245628127 857091276 573520016 391944896 676929997 105421737 442606370 417606779 651686624 230818055 721634465 955025942 143513920 165258814 759777409 954634735 443700073 494851108 524840775 893749447 157989632 815726663 109141135 186279893 761839975 522380576 492236050 704632191 308733705 194630522 562687476 951724430 860812090 912465433 323492775 874837842 260901853 605762056 387172152 531966292 216931720 847180273 905248876 754386415 965280166 799724280 307355919 594331468 846520130 674419277 234673773 610159212 242014723 739542860 271805941 127885924 653453851 610227924 541984815 806689783 167085522 179354242 770387455 352905510 645794590 504862031 651487001 935899005 444364645 433251419 956200736 443279598 477304702 243980801 997201190 316382377 262363598 440391230 405167667 620668960 189131838 382210440 991744167 154283445 416375725 236871124 820279655 152681548 663231801 987141751 252757954 917705379 875891838 980990831 787821405 978862988 376376559 695626703 789604387 929425298 917253055 980212509 602198841 808653876 582140832 931299583 137300856 743848227 534746631 566407393 219811911 231589234 831578776 290015139 555960291 714644110 459869382 928399770 687272270 619193221 912579209 752400033 768185023 640094568 246056305 527960705 436603704 764702887 342626773 159347817 496978621 496988573 664378761 199022662 877123410 573024849 498188308 529911523 879469155 973787585 719803993 586391628 453589009 417489161 896646538 585519976 709425140 333149567 653280666 302017645 710569879 994931506 532850264 290384351 515078608 950309794 234435914 835473309 313322585 821657262 243697044 507232871 561236375 620455373 327192671 675590202 986517237 958181942 486339011 463813373 471634989 499543544 232976100 592023957 893398975 519917059 373204117 844571347 703303946 643028948 196617044 550375441 832477419 488239865 515053970 781897351 605224645 943182449 979593876 611485244 919074261 447117889 742778037 890811189 725246786 708010350 786179787 654557427 787412494 781282617 879060028 612713376 237085127 741314316 736512882 668771786 867524798 992145190 934491027 981182543 659145519 987990616 927365469 985659157 809650769 256334851 741627190 528397668 439980128 925785499 853628744 813254554 664856245 341057619 415417520 125759202 907133897 967755756 426174249 983306931 231674714 499309389 875353876 399176033 957491350 278738296 933650213 984304634 868541733 705538415 890405355 654300204 781623942 867145462 254027323 994627217 851698108 315821506 188845422 377689283 103577397 812174727 133882507 664189997 744162291 906724875 723880784 721592425 769764981 739854959 846295426 633334436 198032208 422479391 540599053 175614479 714248921 637710399 289681675 292286283 736089879 292274052 193347785 577899149 625734006 252585992 258451561 657690418 113536198 476345989 194650533 744226799 756453878 304808252 982310937 534842642 311588156 404671652 451850666 439893965 355035381 364273499 204683236 438396684 851244405 730505985 696926444 196309691 102625211 561748891 851325969 376975030 933663378 894349888 996645434 864180355 350243472 837064132 479768802 261210198 812658351 696055954 216493392 565449947 613009348 503659670 814536639 674825835 579487015 711185504 386996655 689226431 842088863 990136747 157527422 833360079 143585615 382078693 857562597 459413260 182337865 204947498 949192365 417103570 282912630 544287504 512446455 979409048 234112529 542607956 818303859 269382843 807971973 350554194 260379825 336083921 998980484 451959719 186530320 515517021 655864655 119235927 348641357 460053632 718133459 241470106 987879016 549709213 189460907 578796862 419861159 899546325 447512102 284037134 866372136 270014676 505553938 445960567 474350869 987462093 467552697 303500523 329924653 293898403 187596513 489085257 382527739 888811701 934580234 885643145 881893313 619076687 414668799 841474500 195143738 109559634 971863357 350240321 363707386 441952426 177781006 656796956 853149213 100332323 714865533 650381446 339379479 521546032 872043609 162985885 475102278 189043428 339353096 407847373 852086427 886681972 943394543 926374441 656396545 204613402 658500137 948445226 960555352 370259042 946504232 670470702 324445827 878019022 123564178 115062114 131033853 290917548 714381064 208523192 246491767 430012117 929343318 724939565 670081112 858997425 642661874 375590712 729290741 231903852 168273087 377800838 439644884 395280198 115054701 609328715 729776139 100749500 914979343 860753240 414658300 869622270 592069137 918941863 179931432 557692095 705016134 264507809 428174252 788693227 683242751 414965902 757656833 284621886 593013540 583879878 904228159 201987808 120493474 576314705 561820479 444574858 620215386 473997225 751741804 926509380 735053276 753344373 784029108 858199158 233238779 703681011 710696691 584628648 469231216 940830383 446666368 301407909 579506448 811983815 687458067 989973574 938137048 586836772 892323348 617372981 488455518 908291506 280992391 644777352 151801008 774549293 329103894 942758268 251585479 414463408 534536576 649137204 423612613 651369963 441256876 554588424 604035865 782061943 156193096 147161279 599529950 607588365 117344899 874459989 374437286 353443484 853677976 261321630 396420271 130556258 824806224 521365262 198415483 698414936 125770521 815840856 662328006 677967232 207501835 347934513 909088431 208524022 280927416 707508530 614634930 520628761 880426241 173775924 186639904 536164281 270178194 896460148 153005873 928052281 197070866 518621219 154419789 925816413 422240510 387569045 888414342 960712486 901225264 741967462 685003582 759408187 505578874 869790656 686344001 332640332 285147099 313910534 834306514 281566497 434239466 370768692 221567546 266692097 260082537 755880031 704414570 283628098 781264951 735129998 471670979 104247360 451451479 999733088 660915555 146185520 362720364 539309011 253104175 296693799 402492723 917589972 346956200 776895160 698972327 704310685 629735165 619217746 827077881 609373375 665397384 219363065 282071902 418948052 683916413 548852760 701203433 975044286 574202324 938967785 394199036 978733118 288725548 523721036 723444712 389573214 877920278 457396414 873589074 833175832 960453046 142573727 973471496 866929093 507695821 459239293 580909000 576139851 463371528 898525286 855793296 706454600 519639516 179317058 350646852 905758905 409050875 531378391 708233213 636382968 381426662 140859791 260114447 492769447 106285296 994390774 186036922 387832163 930517839 491294953 929076148 208200732 266389407 831415600 528602030 983996556 158697783 137906060 618658471 817180381 463689096 146425999 918764521 521021374 285791194 940167028 550984439 512904387 931160299 850464283 524871672 710308865 661804476 929659948 970148823 695350967 218904672 465970698 378118002 600949109 956799216 473626046 450198425 754370640 248641005 464070110 694956082 419128502 531626289 595841054 853911941 469885791 225084837 579692918 351514503 109028106 683750597 945806978 991481175 283782199 169260024 870868881 549349458 881053121 706993950 457314886 353993955 327930866 329986280 619076156 989732940 866743676 780804129 919845148 527937561 380819932 566781833 266299874 902039279 483354187 882788555 316203344 151018389 639047089 478367113 561022770 756020242 362616212 733707463 987564422 279140028 282476818 162985303 857173053 325418487 369026224 199111185 414901670 605708214 806825127 644758533 522705026 483961907 273962167 759248983 599306504 103930541 218776791 436471176 608172388 662828336 896831027 500571840 570509328 583778053 411256898 800495641 872203971 653278189 235082620 425841169 802277338 688334340 417747203 693744272 282743535 812637691 526910428 130650497 810718953 843108455 271809993 149455255 295424224 527538266 214827465 949463233 919806668 630555005 985547962 245686095 603823939 878644325 124612107 879383289 273125032 467377892 535788833 741894786 496998645 808624930 575062507 515084826 540200344 821327324 236521739 439440165 315264602 266194943 386081219 356476849 453635287 865779543 733813414 106194700 608971117 308898500 600278782 735537597 287942591 955449916 354891168 713413454 807967212 234938614 113436435 229841473 509743689 187824419 706831822 465663542 210234465 395570555 366945327 436145168 882109416 539052506 282011836 867805722 285090433 857591949 533394621 845566421 569962059 220602033 837031248 420192377 965363874 294689996 468052905 674550200 426229080 586982992 298868194 730741167 305617216 375144156 226770198 441448265 421724889 863349194 568806787 990812673 891331826 798610825 911177654 973075676 948672286 513147206 669354227 662409046 254476110 571044207 968400319 159642485 634473862 939281471 732607967 723372088 682650240 869952665 965627361 728950054 882204585 533504427 583452898 961391288 910500255 298839116 689661589 326906266 525232975 650956293 460240661 246922218 355558701 872377234 682155015 711903108 469504273 381869077 676675336 286517990 685481088 939336078 168062694 694124326 650051612 683717793 960157473 776081487 568088252 610927406 654094671 257351344 901833663 751338519 466946645 123521825 886976946 411914512 934296379 612708746 277823045 680286575 913601465 727094659 214154254 897630268 420868346 133085973 758412787 605260945 153307517 825406705 693375828 460002179 801057257 895168049 292697985 158675860 202416025 988309759 941224305 124035172 198892740 127135471 214175459 577802117 333991261 573582308 488740301 414644994 460399752 562500512 313403705 251302302 675588166 767848021 579217594 142687664 173490720 944736469 575042759 354816406 612754781 525405878 381594503 418362525 568431195 578860650 793458728 169221135 602064080 811687163 528307774 744674701 895711311 584665621 282277658 285054685 558683446 850087498 347034313 243747290 622156625 938197821 648358506 630544752 987184332 403172103 733071072 413182399 668476774 649466509 445963912 984469026 718876832 604012178 378042658 649070355 638756883 226927436 732662110 194231602 892318740 948735934 262483732 818840929 875594240 940447062 592528262 557684900 795948375 535862221 457400919 940669556 489062366 209453691 127023005 437927696 104674213 190541692 727390097 568224001 407854215 751343051 444069347 717979744 179581033 591693016 156154341 792474874 762902655 375380433 473092541 104674843 356771781 876967440 758902458 560835335 786654644 818385155 900489405 627156103 555168416 512606735 910537954 140945043 155351632 813952086 803745734 788738285 637910206 578591015 609927084 287532860 868006893 754033455 270127371 374182806 303913265 304012506 784718500 825147109 268475739 931082882 341310598 384792023 577081079 331068178 909807384 617408545 140264569 537016016 341582528 983518802 398069345 271567282 826341336 574257097 210465619 617649199 554239357 764983002 859684126 677695096 108094248 239552643 883555905 878275109 933005810 721422400 469860100 182987337 681510049 660057126 162149947 909244828 833384905 775987402 750169283 920761666 994568798 524744433 669884786 959213414 139692381 565664808 320934581 977862103 145604416 320088387 530350912 689062705 566603991 575939989 655163152 545020528 232901687 843579330 474131947 664327264 822261484 360536059 573652444 254940332 489482371 596127651 141207575 827955428 145436182 892153880 248635683 340535665 817787975 800143963 688145601 707922155 241535836 388963583 916813545 669085722 604770733 867829011 862575969 938933314 457262185 662455769 782513408 950899849 380293337 348288443 555797644 642045946 534107797 489007323 275812858 125736214 400928365 338470069 355533362 561126067 671958734 366317034 803928480 240585674 288685731 753166521 716960299 821623930 912822793 844756081 383725164 670410942 995436251 313136287 134728946 328639917 469015796 293552261 620756511 894904288 782380278 331093894 158480709 727200008 466512725 660310124 865252550 764901782 167798835 241425435 274588254 415546853 243774888 350036810 247352055 246580144 217742331 459560608 101589768 607300511 912160429 747018852 199209842 604084269 348064465 243278458 985654291 593937295 729620324 542428606 396644096 300835004 801088954 964708446 769970221 115983353 727690598 809656506 750263672 176523850 909939698 472614945 268807957 831601286 177132465 613931451 282348096 851660016 405802059 593361736 386499213 902134862 219411201 967535741 825877939 285876970 492214882 811739635 154822794 864262394 955977559 196264949 944957465 707659722 899076429 667179036 290956417 282057227 253708606 255980365 681905756 707429908 729716836 365974316 594329856 940918151 682566033 641697082 426705423 398874629 504658438 497270306 982504385 400485065 198705967 852293685 913879798 790810653 273208889 684028061 810536324 843832692 201541434 837983212 117906293 133481988 940788992 447213342 963103130 495122912 887885393 646336107 915151159 364106666 104329460 951401017 854332791 124724180 886453145 664658043 235240261 814268668 183650282 969427694 946557933 112830918 102840989 220222883 130415212 882935919 224424497 923172199 542329742 277072576 438002160 242953595 162904102 531975088 820361228 112329421 241186551 754018702 458862132 458985452 566774218 333323818 546555071 739886255 460457165 282109747 937597404 829519869 112912884 863051450 122820855 868673690 570927832 560650253 760252042 383899080 366133098 939172255 396305830 829670565 703170691 715339813 955396842 444033207 809458438 302471397 623892857 612979713 463008728 977751379 954619007 458687235 593972513 797949527 916090580 664430191 456538075 776315253 802418600 129366800 408791530 496579437 210159062 914142521 396311336 739572505 320498818 729632794 899143685 810153297 923652586 532846245 589041580 489762321 706186966 115452634 792689611 107237700 489921737 924810900 599826106 616084665 704376436 758696816 276593840 945507906 663996588 390786355 113774483 814963600 436234756 508644585 419552519 751918556 311074972 912175650 601085464 849556063 121933920 812980618 397111712 524240657 146088628 306736253 485822677 540734825 499610083 808484042 981308285 985494186 844159478 510541064 795241041 217784833 207245119 760508859 379933112 364589915 713770202 462583846 410647868 889035684 679277986 233316591 871001074 250777801 312559395 567185769 593841225 205713897 984759841 620659852 108809849 679014326 910231024 428495278 119404081 471351035 653068194 324813434 644948679 966760115 290609584 504597237 711001907 338831487 194445321 694999680 877293060 772438609 589964950 516378226 165321201 774436255 839943317 563272667 783964785 204553162 535298765 734558873 682431210 243255305 684179551 898157408 883687705 794133698 919251808 399345185 473475627 186239479 940736159 736284906 751501021 320927508 703663721 642418611 837222877 978842894 102048731 284202217 550665119 421076042 371345536 903888365 798458634 319340271 933820742 368605365 567082413 814741129 822402863 242309902 406083885 521798931 256273419 280721950 867632225 379144323 517194377 786301245 250529991 890738950 932606473 133935080 668947474 331694549 982366879 819481656 116052346 285878071 823159767 295645143 892809902 456609302 432228199 655096232 371106066 515213110 752671630 940800569 569877419 423725882 106951547 645985667 981243857 332969538 865668197 318595128 863247262 494924451 673037994 482280235 775280718 100641158 248856620 962009765 521230364 166420698 947995233 426084935 358127979 775386317 635712456 331292231 659512350 238554181 165089813 722615424 140100440 246927110 805738977 750101109 503087989 327259074 973181261 616571426 376226029 129148341 169949705 675429773 848122503 399736930 723926776 309421736 591720004 423513536 236123664 803053073 144344836 515434202 992086048 103996536 851119574 591571648 539104722 100809746 320087933 499590101 702126817 430795899 608393419 546305973 951494006 855871668 647549257 129830831 220201601 523311872 207078186 603151710 521457724 344658270 486265841 644424815 385223468 502879874 980531782 856475109 566439742 329023059 985223265 955651944 555364601 977785571 114921254 360091389 651072778 903571744 908435249 308975604 401011331 755770356 354848232 130695984 563006887 767892042 731883974 334740507 547142816 516557574 563864284 951484239 844895440 943227456 318454244 497129872 479743377 376537977 878935371 151595449 664282632 564249157 681888391 350827840 916584140 590934498 235053104 785098466 113580775 765495936 480575777 815303795 606783815 516821491 453541385 281225070 795371202 699738223 166198876 824603802 480917180 145088685 843657348 778077922 362708487 165573626 116305485 160198409 563355162 789324500 910164825 447419616 852429649 795460411 759206380 436406595 718648538 118896529 402306339 209627729 962253469 393884600 392449417 476590225 663598460 224608106 377669728 502707414 144041093 526944320 908130546 676237651 984152350 738611984 342696874 961752207 673520124 430439043 731918442 833681560 128225494 608649493 919613267 502169997 345635983 760732192 948575398 750040403 171824152 586279678 700778505 906879304 457878290 101916839 587623060 171584901 274238153 393112091 255184190 723280528 732458632 862892156 227563753 541993074 818630595 665318824 438705247 685565608 313941790 171699917 286070727 536448086 476468748 354212011 818207805 474495271 312035613 833525156 499979351 557530098 830638459 656641967 265792751 572802015 678623883 102171764 648021221 846582318 827783728 364979183 197555616 515904932 793276315 532098744 894010712 990153010 343982456 872219141 812038821 128713068 452078977 942920395 436886757 360444976 952108017 605251056 524035471 387317401 452447749 217490393 890408491 546112052 673031421 147674639 418429968 651779977 653919857 215673226 360301224 189126808 899462659 276170716 856987897 988662045 575289535 175897877 658328907 695604344 128698552 548081515 105495825 384986430 228861553 267469983 788892443 774334441 582527689 510603927 454143863 577935444 197832432 936644167 569662208 875634923 851364363 724927007 742376333 231970534 737270717 611156272 437490647 136417653 894519496 395676276 144669493 610183504 448342738 114935951 334341409 224427056 609764125 523433450 107960295 878732273 125937195 393476678 392705245 918465067 175931747 125050349 561483773 989413774 929307546 568954827 703649202 768293735 615663152 148011627 582877086 467958991 164572932 948138282 486941893 112582908 689251454 285858975 780997631 858063370 221529857 903279283 220090136 111746320 197812410 837807909 400214917 549186492 375602902 168758535 643297212 164694334 672135528 344983258 551945433 305937167 555024682 724173940 305818385 560255534 588687546 851886067 587529397 707019038 366087467 548858849 325357538 141390982 103118870 769709333 100687930 319473300 530247827 180817080 299559572 159518413 802256457 928098785 321109145 719136909 388364702 182580030 503269181 645485669 820996243 882260081 831393997 862428503 943804380 814930359 999486818 865404191 678759565 443457215 930749077 654783669 395663666 760656028 280870801 749398577 716473989 515251028 820097572 158979356 503997878 764975412 855444002 751235789 541125805 319069616 840536444 994804863 653629469 945266939 510829842 495501482 273915311 970879829 300197264 438816450 771743682 241971743 108560046 490113078 365247648 110781106 102711835 200025708 539957265 996507403 251087074 172803827 406339384 607001762 714694207 786583246 812351649 806251520 416614497 547335315 543312956 265588966 133389628 631753305 752892739 814038844 667392080 794273822 408012145 671856356 416883814 440559981 379911850 611378736 883805362 204023432 665651761 680508639 570950316 653164336 193497041 985439561 684207831 362971930 536972352 647854823 429494805 881724645 761845673 975244482 866202849 356088862 812666780 827215278 873395180 961511333 931337343 340050080 900983894 771365894 993566009 446845189 445851825 508463081 551503577 160140204 511424772 755543267 728874777 664315201 553470983 846985134 363973179 699074102 442553760 939408384 616123572 273179299 833272378 585006085 397756176 110402304 902265315 409329595 353124331 413186768 835784935 994335252 331977781 574917133 467839802 312988026 908950108 691034338 380316649 560040657 823890916 366333866 841606454 367063044 384454939 987253206 348154065 603862962 178226408 450130630 653043528 562710680 366673220 841810507 930097891 574900049 148665620 356681718 212915790 927860967 327744121 442634396 204327165 114811139 431204169 150234027 723876327 500486796 228930518 293951193 918636489 555895599 315000516 498762006 386306083 484580479 986613226 591919198 802739090 272913532 907838756 974359994 245104483 264656194 530561694 942462464 974487880 555544216 192559658 313644669 671115442 751439732 605548161 718664943 562730298 455899555 303948589 583750323 551895835 863502554 759004880 861462195 750129655 710861006 994555506 449263778 620257046 556992366 679786489 595899578 327225335 154200089 479706499 161244380 611665717 932421853 319092328 464138589 500699513 642034073 851792817 334959512 465991402 249551386 834550285 726557454 340832595 681817655 140201270 401149026 228478202 478124818 745833005 692880410 847224603 775125974 255918648 378798127 867860636 514812564 128302933 726206013 351414273 820337970 274089690 587881663 219904380 266213250 969566898 390101085 673179224 994715096 496792094 104038734 789839182 306026741 122247772 627949722 247093269 163186971 627275916 730956611 879380061 906054749 285963141 340195015 565272247 503115299 673716000 788537854 795333400 697512719 127281691 854966310 572987866 258177094 482480340 127553805 227670600 890549218 930091054 265249767 853464423 363387966 473973420 807550872 133862996 355429789 295130934 208735075 168662058 505281970 335680738 849206280 595273651 456428509 218409937 855708861 159133308 399735708 919494548 803182346 789810117 798912647 760603195 294701232 958865494 144286422 903750584 604567770 331840441 509612752 870089727 936588392 396752231 590201947 883079144 924255007 284041044 345165773 234606585 472423138 674777156 747615136 545575097 343702842 362808246 734596259 346577471 119070839 799990118 724135118 681739221 581963915 867414991 434056495 388546565 477453007 984696732 524619919 896960719 452047947 729308962 951486350 210855835 802750836 397844629 880603030 676001313 900037209 777707227 302891023 635681908 461670514 137791348 889807840 307028101 575784950 984555992 361306175 354520857 884187227 306682686 599517348 614481300 674042471 919790690 435755937 532126085 574876290 940147918 343880910 737173649 633826291 515742326 628508212 585289707 711828075 701712259 658555245 951971805 331362916 894034315 964118296 512342275 174903729 603996008 661804910 963443387 830594917 276324267 942063165 536180179 212012988 193165647 364950280 209643361 893457169 603141779 563352017 931635409 731246571 135820996 530946992 684186770 143322142 129095053 886190889 845939267 919058428 428859838 899128504 495167367 724766371 405932363 379162052 863546012 829735611 957286581 174083310 401303411 928064978 982517710 465733157 249625576 822944719 270374320 213896916 324314296 883860264 865458643 663957327 262804294 777692700 169381481 799240684 192226307 784721805 262734015 131003546 412772683 767977003 108398481 830593678 745839285 935734847 546471404 289590981 840995572 953975785 928768351 426648480 539845170 872460870 766040183 571623627 356805480 305928307 969998001 308793732 656225607 561271664 549833321 706830290 960041804 858271232 536783777 514678539 844930145 907536222 548114295 135099302 821075965 582608680 888662395 427475003 989071227 932504558 806999448 702976177 217886817 264970910 328224829 765478284 762297670 152100118 481017444 549989249 457211980 216595148 138281454 195521257 660135281 831140716 842639994 627141525 173680425 934106095 207638830 168123732 650293432 935452613 878318000 991638718 134024073 304803079 597024123 799924716 387925430 260457838 453864838 779857970 815592804 939658622 728111081 774043539 610518300 383414020 752284300 953680562 804743706 106949533 367862783 346321941 846987730 398149989 613703794 512676066 726591497 542413710 571740476 544914559 515286349 764837464 878763342 106697197 168070001 336826682 775746852 709561317 644758822 569165560 349419604 521214548 258417996 453197195 381924832 895249237 292169824 989808857 967035550 724638889 614306284 316094466 193952597 889773137 776614021 213123918 541174479 942217620 486078574 133593428 434214518 387601011 409678235 749396853 491584849 374369918 419411455 134506492 669241393 827822234 587351306 383718377 984288826 859735265 929375240 742883715 292652788 345840423 853746020 687990399 264827446 772594242 304188177 170825872 199805777 665294903 480952295 193346894 198990475 174152144 998460652 728673252 737607768 599599166 231792498 638214878 341659141 802428290 720501402 874259469 109618827 817775680 238807408 395714460 611094439 660907481 542415787 683115771 610562008 385638651 864065026 384955105 785790998 724445585 630202361 735747341 269463004 175631505 614108644 315115681 428670947 142589587 715643720 780837591 991163023 864113286 918074018 470928290 223739653 501697286 783891071 430312332 932564352 671516753 916504499 429585468 544250152 255654613 404342042 418010306 782341112 193964380 481813381 370971352 832338535 618406267 657532178 602596366 926971584 175861953 436418921 725194656 841528565 344066102 233112683 955381499 365743703 400118145 599128029 661408700 108017846 600543418 954434022 469272224 485775277 171399571 206201410 798704714 830815569 542248705 907240491 707272128 159306478 490779907 607363218 461138780 733677695 437936763 265403003 871281564 846864454 804924932 199012349 755876740 197772471 906922852 923913304 269106741 264994524 515407025 604282258 952702974 129159293 203983758 109037331 973089790 790201308 371247853 481566402 859270043 243357040 764314904 939995283 763396569 477942261 966614830 580063666 174374459 383457511 745048707 453053991 175363097 137195486 190553196 601507233 242197575 537814245 979111296 155310726 828811810 748184193 114901974 898221202 584414758 226367618 260501850 909968724 920809899 896531438 695193694 946088668 487745388 214370269 667377599 926841276 689473434 203784434 447523459 231260597 987038507 132998754 847887200 721901218 165368088 915892604 579595947 789394496 657576196 277671541 483676423 120870068 395125296 775753640 123433495 857630199 518551689 139830972 564971209 451902985 924731491 192177504 149910120 281322647 686694753 692288180 425712089 220648143 767542476 900692838 450201255 652916307 663449898 796742917 720516111 696258157 598216349 422087973 736019147 415940376 388766674 645279334 840687933 352431633 898864220 979077118 929351828 220649647 199596013 646856330 818437674 364076290 661005495 761214394 209077984 860083194 791693786 289521749 971726324 146156719 955686778 249599112 941882102 470787531 192834565 294706567 615866826 798886726 120186398 562247434 471577308 426849524 834268981 492194249 141651743 606825062 544824300 447097823 471628776 317775808 595799326 680447651 293158920 198796834 464707273 639888819 239990400 932296519 977889995 339194116 634878834 654104510 465120251 258389814 926476717 706809850 246207314 600192869 756807192 669439561 858619387 262588094 464770365 800036013 504516236 962856563 304015113 115074358 344815803 653826477 904425559 300358455 277482669 554549037 818653432 673932894 826685477 736924600 195330543 998283097 784390140 886574425 245824879 161330684 158483579 584207158 440524613 204980484 664095895 219852571 514587536 311294719 320432125 360152731 632602852 807401082 458269049 722917195 139819205 709822605 822180043 392272178 938074527 677360119 806424791 397371618 868871684 770663150 825864308 466245576 342153773 106253418 853394372 424201203 838902858 503377061 157576861 553424980 516823993 151202833 549100775 615783090 915456632 991768476 573306704 299840158 335168890 362014539 910113669 508019469 810930439 992389627 776645501 236066871 411334749 536066509 662587968 703801100 392436434 425665095 273387598 601783617 378102739 136005706 948725198 610757944 848969542 413374869 294260832 644314559 482761388 263015097 651241532 452638737 385735490 905250701 541925332 617270943 383089212 964722323 980851378 731546383 553878577 489190406 427204639 274122442 700276121 397075232 990866915 684172179 469168767 460586136 308068096 161254857 784727322 223962906 694235387 872447414 231639654 783131763 947382183 644349879 841317881 143937539 964446261 500801516 406903679 714505066 265897767 828130042 654916089 154880710 131362753 990763011 563804435 242853223 633953827 558359614 385474807 518328700 679765713 444594153 967492769 915319392 540980438 407985593 652285257 367826955 412817167 159196546 387285492 872242267 600985682 125839888 975634000 530661245 364979572 789627135 795175840 394022980 562623928 997835749 806848544 256138157 608313748 401728166 860008523 274496499 186713433 602687183 435661748 966403528 574397656 926862476 769141308 885262022 153188624 337343540 171045557 122145753 237745233 515286113 695648391 851044803 165692482 403583167 971901635 578317876 298215988 861014944 965827703 118995854 904249092 649488637 135880544 863601023 412145844 285233919 534974571 147682549 701632147 657418997 842443656 668215512 245922485 917401224 961861731 527049802 911622639 577837498 320034448 677731837 642346757 244517962 340564589 963889377 997476295 968337157 205277999 874717654 511308993 530064335 779921326 901358144 144094989 633513079 387614869 222987635 657530864 715335477 966459737 515945694 730009959 931614860 416295134 980729628 699064635 309683173 246268995 657831973 655637443 815055765 637382231 465814858 715289707 891735839 348883163 966712497 854996883 938614392 898832226 203586922 434105996 646709260 704701462 529436096 735079232 963524245 117831900 290629631 248295191 907945728 337424939 501494745 892885968 179841116 810388529 352757862 638419121 737609581 118513383 820672082 572179033 276941437 195550475 303334371 369772625 702511020 830639420 237223254 720753932 878227879 350968186 137849574 638183484 363408179 414577537 873445141 949911134 688347312 663073678 222342032 582065890 168638892 558217919 374938212 801828132 749647677 750811434 935002943 525293296 348721906 691029207 281167813 788102371 379862514 288301549 376889418 262904772 164750863 997869430 677177222 819638766 940399595 354414191 200486928 371265048 669237352 983717115 779018535 670894280 650293482 401486464 824883691 406643484 928540296 767897267 219614899 794723638 893619064 294799780 320899603 938531137 190009021 679132154 986993393 931441882 270350055 910609111 969524488 118890954 978477297 774936567 148174969 295520070 769758849 564356371 149754583 888715309 468848768 643213393 801698449 833706508 564966421 482694233 296357015 753264940 203298497 600983624 382602765 974421294 988556541 624523823 704330382 315431147 633724216 679505479 918776147 982641986 618186175 789818948 949639764 660854777 257523095 311487610 689383492 963921514 772440049 282925646 493123908 398050794 208776204 717493151 833514868 731574357 641554800 795575302 806761604 105042710 209669957 306636354 118192438 190963966 271490149 181737071 528254110 628117669 365570090 870692924 266737886 429969159 452283766 579455043 752033808 214995700 380282600 150993083 921613946 573060439 791714959 478483926 558503833 871827555 230403895 357423771 566093540 585042327 415720333 881136335 585689196 493751575 700053859 214202187 440797445 650438992 380571066 950671142 564453901 552000008 741160704 426187113 661368573 731633616 701823392 667971387 398257242 400526605 701124019 510653098 740228930 368968594 334275988 197275469 319871767 128583558 872311601 484885241 368387698 268179520 200535469 569643835 154030116 727180286 580179837 486517787 599826536 564259841 691532525 879864751 773056785 849831477 460588240 245468137 987297509 248692842 472466736 853530272 804775206 200126415 971293287 520567169 538525336 405754842 246694177 247412061 141707842 598054249 502663543 520440199 660677138 464830161 404622702 763651291 180269419 775925050 496070229 307966911 780265970 337059972 925631407 562780369 781932298 256092375 470251594 836069972 249644858 998310423 659952265 318628209 890124263 111195381 713096556 333486904 938724601 102561834 459078802 850858106 261986468 554819705 196739344 834518042 557797218 960317513 706354443 311562188 758690270 319247993 266000211 222235960 677524412 620657804 702310359 400343789 896511767 691694179 569996975 805936773 865384325 625341855 250745994 208803868 112168051 682835989 153247160 504220060 711847365 675915780 455776414 586705242 466878887 238952059 215819893 259537946 200875421 773633922 219287562 847640974 309484565 683821751 201585936 661081701 363190523 701923136 315041770 600865881 766843295 139023333 562618554 647767498 469230103 649834432 381380415 597924811 136472421 947049461 879949127 780454956 616768302 238191969 181800641 512512287 407072333 929198094 790199880 379497917 871467163 851145585 222171954 588461415 879464834 793894403 395176527 424349336 353265757 355217592 564208457 326757798 558252440 991148169 935009797 423584973 258879451 556465697 426662163 935075158 237506388 109973397 426266453 924803881 789545121 882292485 616984539 728159586 176302740 886135168 695319153 471944662 700506496 793677822 699947765 740720463 726251006 464290790 407569993 954860332 735140176 603894944 327089201 350261429 161036552 672605966 548751507 210398231 231544791 477621692 462940587 973510294 577908425 179525469 248540012 321075032 852626539 335498954 737143446 129762885 341668959 953970689 463070142 189398578 300195066 589001616 281541178 292626468 286785212 247822943 248892603 764173754 681945356 763402371 536959034 688896621 220038059 639385853 156564182 605251818 595447219 582109179 547353066 133368896 177113474 535407155 692657856 680868403 278945685 227095909 604051698 388176919 863252856 585523422 212984240 316072353 727209555 866460113 748287714 971413391 570480905 224461239 674002545 816336959 916006349 187333249 295614639 201103901 417174411 937322515 447529618 201910109 855572625 800496400 613667515 926698003 849908677 560577586 794226965 723858447 826740513 153491513 777381462 589435174 806580893 508766565 332894082 434924059 506526059 905394689 752700246 665651504 260311587 519274814 382773894 123478107 758450973 871369820 506354527 432206016 901460257 285778400 236002032 603317005 978668264 383180166 374036217 564079002 827388327 436071428 907613746 953367983 482313804 570278230 441909261 704667954 376992948 219988795 303185856 760037937 206172853 813831917 707587183 628504870 739986342 787673080 879445593 108223469 587978478 898133413 338931868 890646047 857542323 255818872 324305483 114104607 922015070 281535301 315187734 467209602 548214364 227904578 670437930 141334180 504946432 167768372 238859404 558460216 100705088 461228478 694084238 829944100 448334330 831051209 430333440 912485149 679214202 988877482 225233353 761683282 296327264 833816209 607003329 950134465 888426373 524801229 385409729 774009482 746096281 637003704 909896753 986698310 200151064 851246904 181460255 215849234 325089224 989044039 189180881 717043724 211883159 620368790 194588006 310152463 589485867 608649465 827013339 758337180 595382405 479227580 738766029 253917954 936529235 745867084 445524994 464669028 711176473 882889371 797010782 491091885 101905528 213019776 495700187 780243159 867511049 894557753 954661546 435334696 298139083 333033884 353230303 201500377 404612372 224872608 382213753 511386085 569481249 391353858 614961350 619377973 259300998 250773249 884752211 725672993 986963039 178289967 957179232 635380809 780729344 334139757 268298585 617791386 880046984 250771880 913154587 517229425 364902742 914780665 427676046 457431219 395319950 678322008 994337901 761305134 830862034 877555482 819357566 869130254 820780719 231081885 856485851 272791318 339504775 630816028 446498530 566271261 885990192 263570744 338994638 927554941 596008451 317288478 392688507 779462789 863540716 633280244 738010672 415776330 290534829 616112451 453477152 948473905 281896227 850646355 935359116 405381973 373034865 719675386 407214369 967724261 883412506 835933879 395811762 987781253 692074032 323156340 558767573 559981473 223172716 794045978 216429287 955229805 915252327 160439766 844420200 573693930 323042945 421376985 564837185 884187736 229318561 825039635 887953669 433354284 338599407 578805216 706039410 308121271 977886926 725618293 976281181 331178461 358015352 723788492 789662955 238069229 249127813 192985610 451202996 790698014 518100575 871436448 790847752 310660867 112527804 399852215 810233033 296186584 518498583 923265617 216310069 828151999 449986688 702058294 717173907 714334848 534082545 794729572 692909128 404480567 866683568 218315863 131314101 177434873 370400899 789569315 190701816 430512152 154764772 694515263 695559333 734806366 407679666 986801399 350718991 493111186 378686451 998572605 858146394 686893163 233520097 900232760 850098507 202285513 757796627 943076615 766295336 996473710 217253704 173942060 215364655 623443670 611481385 360477704 320597667 975534666 265306776 195172390 791729896 702429354 314020981 126021982 688285711 444906372 409134899 489754018 776930354 194123931 197659237 112517349 536938014 969094385 344842943 805185669 913520536 483206670 350561990 194588045 237342980 687411379 126960238 671207682 766224102 588979862 236222319 995145165 753737448 808741608 786406508 807739133 275378402 590554360 451319310 757504141 796553102 179907476 802614880 692476160 219859566 898771669 836144992 735472430 289115579 989777034 802447700 615905176 532953277 176134420 492312323 247762947 515741402 448884179 730442342 978091746 672360933 299623111 273710495 846262784 938355458 771245009 111626328 268250448 142384996 445460852 545432178 684147677 471860018 448041422 537211173 252928884 846851759 503502814 422282753 785754563 512788413 672230369 128108686 440632444 574723821 785961389 166570111 216391942 461972986 203345594 312437607 710140221 930953177 821644048 281078227 105352189 528527904 336764760 138537197 757717717 438498435 402371152 337154950 585004494 243731823 166050676 959306263 453254744 274024519 234866723 604695083 104991536 505661066 819194065 676111502 976136058 829459308 502995366 975999781 336359670 339443313 953758916 836941382 171848075 842575827 154356771 515691124 197580811 917666117 184247967 518469049 543268396 109021969 484036875 563542457 491207065 965523529 648321235 254270660 478681853 904028896 293249932 780761274 421199232 193954229 351559053 261271656 175692128 786551418 306606355 120122026 523107899 351505890 920486892 794425643 263943026 796396729 136011274 583188035 406042435 739282236 829720508 193531954 412938190 254434341 464137023 848904876 456236775 870889298 756731864 534100307 795199935 590428384 558880795 302579050 449939642 732583843 675837619 582422297 962583240 995244267 890027180 778662123 643568057 443715083 990454907 188036661 871616065 267868475 328504853 149440842 213765432 223815454 967054358 844625935 606685959 274518364 541065446 222698937 145471921 878874676 282099168 844987790 930842077 521580039 788270499 700931311 739445757 448453902 756136967 403935906 964329497 468568916 867930172 963651815 154219744 488522908 921566188 800917280 690832977 209782723 265160210 432408885 230370996 118802304 837802627 178861266 758496789 256079534 172335248 625693992 940581949 210473826 924949320 807287678 720687349 103941738 324424688 667663673 804829841 630919553 618160334 178862627 538253731 503720706 319080422 378816646 169193108 330969612 774389170 358820422 618843060 481782357 801687813 680349687 633255654 111577011 277448482 400453652 562697925 838408002 873879187 243787067 808118886 111951243 528215428 135530838 363006449 972042050 277460117 750181189 553803720 109582623 315698959 964478366 871963495 948010285 316321495 645311746 695572845 707084903 378966061 571065274 887901033 804562829 509707261 288908984 916758012 288600376 921195386 855882003 737395229 344811658 980443352 438506756 936862358 219071038 959910632 744640718 722800097 308917816 501865506 704732718 230126753 804044155 234228922 855937419 469757661 922372296 441786942 185823812 427489838 969420254 312243475 961330521 953774903 463395055 466868249 492428734 704248089 843788244 794883645 163319377 778346016 778723256 172428790 987861832 644815952 868773851 341895825 648991094 261955401 718854218 778598090 253300990 909955590 207181535 521026466 508432685 970207394 305867847 904066085 407767035 923687683 636472118 497831767 342359585 200097351 864704440 936376877 553218569 903152496 648731525 850572642 413976290 769690739 838134519 930426750 240107316 309518674 709526237 686908968 988825245 924232820 650200033 462973951 257843537 436329786 937556060 991043025 280886273 266965985 178974636 436316551 369155598 894580765 770919005 740419482 289016391 140392335 624046748 257565498 228803325 510808492 525346806 185752280 619384295 446788175 557446531 674503409 571592587 879347793 211096224 228059047 585876067 722683679 720812472 972146677 715964531 553128213 370362122 495802314 997645149 860575210 521707645 300709613 838492802 566723510 201503457 884822124 382722290 484398364 379670950 116456689 863849531 832636200 968801154 304914480 606127185 634765681 549445074 462926429 652970545 265846812 571771349 122904620 920561218 201851265 584686922 797696672 828498985 488401862 305381792 892045552 911576346 271864770 658012329 869066920 446371157 470971532 987373573 414718754 546528344 823517081 183626439 157289651 807534733 370239502 557015694 228671772 884457979 265710600 439363790 724039293 139619654 329792715 562260100 307761919 421352291 164723796 670122220 643985286 605322069 862717809 367288866 644754443 462631264 237473642 979874585 476529846 873978369 733316974 379822377 105941820 355902681 426130229 533877321 107340908 425532757 344960364 436360606 278590979 990702179 227635337 392963955 785633003 323858053 298759544 600712862 230876574 343073034 839142486 344072206 301109197 711976753 674869711 634444840 434954998 253760813 312934189 365347833 556452962 594282616 929345233 760318109 122459235 739200563 104496793 749962106 675253944 309595823 928995926 795857688 420437708 536093316 542510155 864493204 842875101 769556904 507819198 432678039 825283168 550509575 141607491 392196682 697626437 195264555 909396044 358230728 532095378 550567104 230487371 812379008 832855153 543062723 313807439 894079540 118888223 792381382 282528739 994593689 964269955 598601636 405007498 774630192 256320929 655411489 896299982 236033283 133424643 666732189 549302120 436391311 903671512 265686662 840232671 842879238 191363409 101955126 245175947 877847976 852248863 747879412 122746591 312644322 594848520 712421377 385214657 218882233 257433966 276025409 149491383 787347143 764322223 245396655 258877356 878744754 975347860 938719923 967673691 812754007 270858492 781605589 422737793 685255950 946316894 312319294 124310466 329802401 422490321 473731851 216450527 678432048 476611789 500051011 800294336 698893998 876646402 811023647 664534897 706797926 217714348 364077196 927429738 683198889 222250682 320744219 780781960 990141126 166725102 528097027 507364421 166091154 504616097 842595085 355621722 788011634 545547207 492558973 511081139 243129855 213667386 658213698 982636935 119050111 257378589 131726448 193897460 503717336 849091251 310215486 532722409 447940642 289737609 232797753 791119809 625373094 139333262 904327774 488970714 466896070 207920687 471083190 872637798 910448985 819022561 811332398 949049462 202789034 987914256 810111943 536254215 311486194 595579026 189905767 615338931 809366068 680054209 314258482 321312187 142565294 550815469 678372469 641611800 543604891 749601207 277310853 198686602 753772316 936063482 419244651 139325232 556360091 561940848 916587107 972526359 213427369 905200194 838806743 575975076 328808278 404042996 964838084 458400038 242247995 844686716 973679907 353412243 220261911 628618576 652038048 179477075 284482344 257260766 384378939 280817854 562470548 569468948 385008186 843331060 470921177 655917061 507462286 960406065 820235463 291481326 866852670 797713961 163185119 923238598 797600495 407540061 882826891 188786314 346775967 422029476 836097506 852954503 181272281 596587230 648436499 612161174 773283088 909361786 864975891 117697425 812948983 989078546 844255366 876647198 334342516 259133916 468249654 738194079 718291378 783968516 694631355 983269061 344648949 252151975 988759964 649768408 467502960 795784785 904456482 266621292 178036978 509181213 612941833 866328086 576228217 140752802 410349392 139007858 290379245 697876081 668814401 829625773 902231469 960690288 315586125 121720955 575543736 287154534 882420227 226890358 206251131 295456910 692633351 688202756 314591942 320550344 480558115 485775149 122801066 277468885 308927043 417562923 147540934 983573181 425740391 321985879 295651042 930868529 445279427 320846909 854614015 200456063 727349809 178926794 901770375 725828975 677350461 512394455 247264663 862206995 260670277 286178972 954045151 863794169 967113082 342241247 574018189 950016086 880029101 768594622 796138284 750646945 651693081 770478438 517232352 586381159 139128860 592577049 499584243 530751279 462672123 106145287 906479448 804989696 855195537 568143502 565918515 719755420 439972615 397927928 123171203 297986695 354745884 307280778 996039116 141476931 705887355 316205234 421978587 905854914 925346301 670387572 863150287 669526530 826941174 917832537 404488126 421001282 743596041 794379383 420186369 386501642 696351076 933498712 758646325 785425022 488636296 453877030 150579637 778683409 954956574 399093190 470473835 364884091 867315945 839116111 707110779 886201077 634861520 452966321 122947621 123839218 922098642 977561140 684990481 265235179 345814334 859678207 100776904 488086729 753889238 197510920 546791043 430316976 799636912 770906342 862567559 240083245 159535918 256516559 291075136 393061291 434237972 303080084 124812663 606931564 256697621 736262713 892001751 900492273 734521987 697045857 409566227 176424506 612233319 498959548 367730065 176356300 826334059 934702636 374546994 843145837 648803559 864633486 504928716 521885627 956443007 359404841 490726124 667398640 301550056 708050235 234940829 554592846 595722288 945403174 270821099 946360099 330565693 267475742 539664764 764222650 730636492 583378249 507192423 278098981 990867591 418542616 510365160 342531760 902646652 766595710 579470925 453610989 626571111 470503492 877763334 945964713 809345206 813938131 125270654 378619193 264744573 669205479 105521272 701831140 655472355 767201538 217836638 476108841 384803894 102050633 260763849 636634702 959216969 831708277 879283531 558633542 646936608 745040678 142085182 345512089 196715808 990412623 632896044 750677781 670916900 304997625 925125849 679763611 657957102 689123123 378246852 730907162 375688145 636549346 995131612 684952542 622470572 985079200 384771017 493098125 246438286 751670717 307419379 274486063 375449291 107336851 376384110 769534433 848184943 940572615 305580992 693419891 238836912 557056687 888411219 215843931 661181094 848095506 192507787 233161099 593135533 735928172 120943648 627696103 102048334 552218445 229854451 233482269 797839980 712072896 600158811 591842103 452024037 153638724 936320682 270128103 877568754 211688176 580305630 355015050 462509305 362236210 138881414 583133440 560286180 756986917 610090460 636578598 898085814 592309970 833548084 498236199 529104919 718214789 634769756 659479169 162329668 892091020 430604098 261778961 393944290 915426231 120776643 785378156 990928192 103861548 618433097 382470630 996385206 460908156 200409623 833634449 753364887 406927373 442737536 273658947 671096112 737044447 850818561 700648508 226954669 413740090 713644533 535605415 788815571 220568897 674725721 487488620 230758823 470833560 474692585 526622750 549909645 763070394 447615648 584884468 659755461 116021275 213700532 155279054 545524636 994606161 410853297 442104751 342572309 878919762 991552413 168717053 896995438 845116676 572654820 712251847 766234074 496502307 177008768 324779307 496909425 205553117 658164465 338042040 632273970 764198776 542998348 139733395 260862119 398973616 745980570 757462418 611389940 329745798 812151337 234144035 862905417 827765368 942566211 844847717 630959572 128548233 436820048 101759898 359462766 481089583 648842333 980862785 187696589 578171016 127015534 647745217 393794709 421887418 407406270 796636680 741274185 673738481 269188644 661036208 881383215 830609790 253020828 960387713 973743045 293042033 655896076 565850364 405548027 565243472 995681739 594524298 850654685 870464954 170006209 544070564 742136543 534101478 703576309 794825498 997667011 358662679 452547103 500542065 771627856 946630707 765286880 757727519 851750029 688260172 725947335 722348665 648888932 938433819 898932685 634570630 652774614 898007762 341074808 976188009 534865779 919180298 491656349 256240436 255181969 515388779 410817223 225081160 626677390 127359538 676684062 940744356 651351607 431027179 126572015 370707301 994147117 432143252 669448633 735122293 876005524 307075683 585088448 144706812 547649312 677345296 747441075 721331346 798813417 245035372 556155546 184768521 907544897 794504810 117798676 589033186 335223679 908941095 674010429 532363078 447910091 953392713 804203384 616613376 630134567 159686783 199161904 569708773 424966740 388879349 851687379 795835712 676106449 354539367 369281236 672943028 115068539 103540176 546094965 196947572 945632947 657943975 463723261 352290433 346939674 210549714 424755239 283694732 499853439 202077474 538258374 241983058 904549819 357650025 860177181 645070633 966421545 295680483 232124918 174813314 896634605 210317541 691287045 989889080 156367057 125805269 131945171 803427232 512638549 145805631 431869618 978261400 578772771 836216364 301925365 892977980 115723084 757465286 984236277 658907749 296981174 248137323 664112081 139450001 504628098 707879382 833302202 905832826 453510041 266969224 569890857 295168184 539652631 503048515 850798074 259350373 487387978 998233962 192674319 541906842 493913676 326136457 162811020 709832211 157515353 627114946 280632615 582311053 972111745 416730897 325283239 421577936 341405458 462384393 488477679 707808524 847125853 132359425 626560652 756736914 368055271 347936977 191243574 620281752 659321643 824048941 392563640 814253969 164893354 195379190 652810185 544866211 382021510 212800452 408190618 456823084 252185427 282125693 253414567 650535655 212769166 407054537 404715066 791685733 709368662 207411617 215038443 717563782 680219304 662912246 295785950 827814370 312514477 144214366 274347678 434575292 420570466 885256410 649377647 959870193 515539283 939105271 762641732 412944934 565555599 518124337 383603060 313487102 557263956 138413246 967580381 406218210 133991375 316950610 447325318 930421751 144854446 512824226 145162943 134179633 748410286 789059089 938879518 507408630 486459985 547530503 762852834 236770487 493401976 664477181 613469713 860603404 463815513 780622967 548191342 497472603 547369947 653460496 905443084 141697531 539102323 115975435 462520380 578980037 524632472 842053938 648902394 132841376 909197939 192742186 524934064 563435319 603476914 560699334 256508231 848692451 771662869 686787559 845292343 184288072 869497843 494790935 227742897 318791197 405002604 121961743 946694051 573728840 463778536 745623825 664086227 248134810 763408186 870005196 900342248 750462055 450175598 451446617 252381852 671170404 615301280 594576506 330690719 200011015 493866427 517452060 240872315 752277173 230947235 670092659 483104486 469242315 162719601 604551700 335976920 564214919 849565115 568339039 142623200 631931031 693016093 785201755 375134873 979379085 807281820 632236398 998338487 784239318 236696154 342447830 880059312 157191315 464800709 217357400 652111557 682084208 643448746 604154958 775561396 293265180 605994336 380023770 624633324 430642560 553254624 835132131 962421076 373986257 173977067 984933533 921820615 446664215 923661628 656609323 751872728 811063975 143685773 722218372 693748504 275015200 946868198 911524526 551905799 339428814 299381076 586400371 129707774 122162094 271554461 981178131 669688835 132198682 736776570 411831445 333876264 940103729 689597087 151032954 933757422 369368670 580662159 244947945 865636561 371698966 120459850 130967334 216276625 920560082 879847323 729749133 660679061 258754499 748757466 427732159 357316079 116312082 599161162 466252265 922359813 336065524 712438962 175224019 789146591 961040451 958258536 462469442 793593728 703955010 973027673 913059104 289239349 211326152 717797250 519333079 591863158 595148878 273340112 984889471 328355332 440827732 212634936 362204590 798926830 102965008 875150271 653226224 859151615 874447710 153035961 118679833 942531972 122985420 121702183 744274774 586056246 911046119 551130353 409883860 584932184 988862629 440289430 421003098 391486290 785278392 282268758 132261006 225290186 517189471 609457408 681016833 761483499 111390260 180578960 307190333 521051989 357541185 185789280 200402318 991001832 320809722 886055692 333468435 699371798 436729236 410922930 449348734 237811094 741805726 345919099 947787037 414871633 239485556 659235959 855799205 909457889 491966235 766640542 178290844 137812770 592395747 206433980 708038952 681063971 996885737 755203277 886106118 763287847 919433292 165484180 120310057 461254510 746902283 917801306 162726954 274635264 144820823 323433476 124829908 926128021 125432380 531082789 149022828 946247791 519545808 678933331 650124873 314876814 971841766 672901948 478290838 185659589 795117483 323051257 388015899 140341980 828800552 541194371 326037337 454384953 780836033 614964325 302333002 938335416 746677325 123135724 900156853 855271846 919528322 621658661 158011683 654379363 999925948 404793866 299614269 269767716 322926916 844336045 199532919 728072621 853194927 276911503 114833611 744872112 244340973 395491962 632699973 190466270 406545335 264224811 238931944 755237079 384518516 954049531 296351634 581521620 853156022 497091959 641346361 113279338 548915124 485399007 528404325 879349561 565427973 621814952 131483718 516655674 679864665 470826260 685004076 659671498 555686533 643347516 531833238 331855291 517911516 203610425 318283877 615085048 598477985 536198131 300902319 971118350 649881202 724569003 991943052 465339734 825701276 834652112 454454013 464278207 893741884 473180544 646568126 453381162 882153529 315014032 518517033 258908796 535471630 441037107 717406763 564604190 414414414 507528094 239018002 408211659 115378633 294715915 327727350 337652600 544980427 870236700 924368629 271904621 907051962 789225653 659472218 506871049 774295579 144482687 428957513 691458227 243085618 989515957 281077294 189880536 178612906 297672053 920551691 875778211 795463352 148746774 213929541 905550608 879139953 327214720 584403079 209079242 234235073 280864924 414336856 854123886 703950303 719560502 604409924 421409588 524422932 384115870 575411760 668871243 671949615 686451074 378811725 876711092 996477318 252489666 124418006 497676650 232920808 112539342 190232619 559129470 238808767 718210339 794868827 898362217 284573819 986142495 140910653 694884054 683914851 101426276 146370407 404206461 728364791 374300399 905279395 182059146 999353549 369544957 375876324 490905666 993728845 541169538 866061423 886970411 121000949 514898881 844766441 394198844 484471365 885296015 352301334 931874787 125849736 779075833 741033565 826282637 384804043 533003781 571908531 591223325 198086932 414891810 702392898 657934972 542417426 858813193 447466030 153566679 157090539 805432246 342406930 367654912 971801459 966916310 966015799 467737673 736983879 632941745 705389891 162720964 806007630 238728825 782211741 425370773 174896790 581032764 974708593 900917046 154980555 815623589 996120029 741066890 495571667 180469251 944220446 538075893 942666083 376266435 786799479 254722072 599108951 674585302 444991022 244848572 679831402 559463564 818302958 579023101 141346810 779670651 727315941 722899783 478443616 604682735 148888263 856386457 913364846 991613533 696102752 948911554 854459615 439347822 331407738 581870232 872054756 195636169 309898046 250893329 187366557 811712435 124020226 516323733 790863654 697263654 755388051 400225824 268998562 636916559 536335222 265986260 360720268 505893164 997044146 963204982 203168032 166577274 677517288 635146152 179981386 660065973 283617358 242654294 299771996 112010315 168645763 590742304 103643028 855601168 977781051 680635695 913544407 854164551 244725854 279268279 970971767 105228968 409177291 684835636 216713934 255350312 549401279 967435176 585308855 855204728 202472272 813036972 811468541 384178041 430288763 386865627 148004116 157417293 971104370 483922939 663445268 824452767 175968048 489099804 564190848 104476058 658310262 956733034 959601265 248994710 968099824 489383927 788188181 420254096 193470987 966390704 220099952 435911256 800863510 189121968 913422207 816725530 606581577 564265733 968671427 995303019 782706387 216778793 297160832 443001642 335691756 138792773 797371132 413721244 211000927 541338061 574975996 284222752 191044185 370415386 657627400 277270859 324087537 211444025 940058005 577774103 459361318 813583840 180284013 543224101 969769895 786252706 389268897 882772560 136345155 105365147 843608966 613152332 802427841 303334343 522594675 301869018 372287148 732552189 216457508 659033654 525084020 681195534 209206139 211814697 971735144 710888132 521128476 679160781 800124283 756951217 608689533 214357663 777436441 348404267 635414245 346619386 786427672 651154929 449388754 952749286 838660071 332537033 534890781 843561585 671318249 970256007 615666862 930717442 562474930 761348573 412379356 352009803 673224586 327424184 162651275 460380870 625677878 855162792 928375759 555678576 927273641 276817577 211849786 497117037 887834100 931180239 377150132 669070328 173043004 134569269 398807072 523014820 213070185 302773748 252337983 611702144 354574403 273127086 645737542 832563022 131544084 932048776 131749156 232551130 759405817 904018198 732537764 740574202 977048192 854254686 589652638 876264125 485868030 758503630 210021131 725551351 961239268 745469264 829798392 981371136 865529904 412737254 249779191 548134237 693964897 441152071 625079919 303771789 649144311 791985813 499980625 157028345 913078802 390983984 228649500 828048803 877086847 804310086 421929836 660858498 647863984 324216296 158844863 238267043 645903850 316420298 481180465 936519268 268619704 955559505 307514158 194888337 696312932 651332276 231594288 590414011 934177439 979523920 856245373 230547971 586977323 688439863 365890874 862438609 664998425 771497916 767240886 654760712 610796054 304587311 949645599 835143479 513705660 323372573 292577874 801591047 499048127 674319189 188697229 732071540 269011152 985601063 695715049 841744041 105344466 791575165 327418588 218382152 996046477 309176661 499239048 623712026 962487119 528153195 947415089 963420907 825562545 934757963 486637911 879904922 468467011 545664194 632506863 640039837 419776154 782136061 552091019 780851339 705967725 710328110 540942413 510412941 592449664 972800893 100971450 473425688 175235348 233093434 132946345 945055660 879205726 436201353 331083708 340112996 176512398 599555625 152563960 462454714 314662212 355286865 102790841 183501233 749282727 886410808 547206251 676751010 414112813 427914276 258167900 614422204 642331044 443647829 747641245 149067186 821521538 699258864 308360109 521564720 613555791 214654745 969182586 793147925 364350310 632950496 501532255 920862033 428102014 962318936 804061661 813295535 460831345 234232628 595870319 381682857 291935453 651997286 969917671 697683090 501254063 177318185 789080950 803889631 259334009 590002411 165487138 673921835 930104322 545988405 893747773 332601014 817059207 929223257 208520138 258472294 168567614 602368621 844016522 870782074 846132049 883065936 914990921 256455020 543525842 560462882 839590668 806013790 307968189 381941116 616508061 714079869 333188779 197501099 404499802 685476588 246701250 674325239 313783827 217955896 164567356 955298207 975385829 271200903 922584319 610452029 458528693 322821540 748016245 607318362 606529874 798950799 993434563 876535667 292453682 651979478 332201254 428141274 512655079 607019053 981187308 544325044 225862854 276889480 995220049 451493385 424507586 822200417 212239853 402133209 735983154 262743509 169316009 262403845 156739613 435517010 702677790 977209394 701927397 715093226 219130984 270212058 350986052 900428504 479010066 277347149 281772742 187388765 327067376 943565105 130833430 383479757 563020577 762887804 830366041 981744417 144209771 119207630 752306744 289570507 373135441 279523653 609091941 368088359 916041116 724060428 362635517 481185994 893987815 964262670 856313436 422966616 992323735 748834767 494516603 270811787 299862404 273377367 577185963 394630431 109379030 152358241 752549044 708095022 993640020 306804715 827635673 809018116 799026244 562554788 794322718 974779252 847095867 915570502 724614385 909320374 284695064 632321565 466166438 178052616 604953022 707138263 748736850 281946111 272231911 518123220 516240106 165929226 281029800 211650907 331545190 385460353 343785715 926626810 554770975 639301235 558959619 773963939 349801380 268063075 736248893 939460409 543751166 973667697 728199763 138114233 630909692 872804250 523763216 752134374 265172622 137997635 425545128 637127529 363684812 520787211 387212401 654951192 279531835 514815678 501119054 692936166 112332274 275807267 529448116 672747508 107955636 899261910 492730408 786605499 199185191 731409009 224707682 700756431 323170165 104188897 942362386 818567062 219139750 790858460 575808136 731168803 940922760 767078053 673739609 429293891 602585757 651643018 182179563 367957349 476399637 609254804 286692803 278083892 184238218 765721550 861300366 410314615 346556970 778376036 514986735 735062106 557114476 164629059 625117488 916263681 425448074 746811215 832047026 546992320 470310072 616029880 431128913 446751824 254698223 645261489 254482374 816129641 340756001 739550681 920557961 477647306 983502650 590764098 843562671 930195961 493097260 954023731 569100276 841667486 827290555 325988391 744179338 476430041 613466998 231921102 645574063 717327438 322229844 281243853 677704446 825987163 693545404 133881112 247923282 256407317 148836179 475058249 367378674 184410244 710864863 986818954 649678627 770658793 994460911 170782566 928668005 670287422 693034168 711319210 101998415 446661912 967823516 500264324 583670504 548562614 904854384 161175485 849252985 254398239 354068902 757485306 573521940 534870812 860687572 518237343 395055798 440483785 435105144 674075631 772693326 576784875 774630010 761704584 516627365 208956887 581732513 856814352 252375324 803531431 302480261 984930753 397812028 183596438 237612556 365135328 552894911 974876825 955058315 558895508 723147008 763151601 171487394 729794374 705846586 909572197 748877561 370761226 821443985 596885552 834053537 261256632 409831273 242887446 759408806 648396637 280137949 861590674 716103282 341971266 856116016 769062862 378992766 628098724 349364628 232454070 933070022 228905857 827734685 702784128 973678562 469883064 262081369 403041049 694086094 275410671 663437035 235911381 968918097 194429215 607788853 196143578 415812664 528477702 788151961 101491200 283352095 431878408 939681818 664664450 139455065 291957820 687144542 853879624 982681230 605739311 128016655 647358237 941991202 469116954 521281095 983682956 537656575 950595396 661888454 340993143 180697832 337864831 882137697 725280229 597440908 333832685 535512162 424195558 151090084 681421013 637270159 359323151 434258071 769943939 317092965 282564398 491943150 878428227 961903736 432930261 778468613 337540328 454688375 758350275 126130781 850196507 531520514 637755585 636043616 421896665 168543535 177417916 963261804 637911786 478437346 528780891 604443582 369233986 455585915 545942756 515441583 954233018 885427239 145400099 748605958 431241020 560045200 745044455 492174945 969102785 810137873 989627371 884070178 393304619 743493934 543249988 300700843 175864107 297758290 458021131 225158251 773059860 907770964 855893168 733699136 530836031 261946202 452065077 954058014 515780175 736513059 663953958 741090259 658937621 704409885 901126723 451628106 779254494 748912636 709278696 405097956 864578201 230470732 446596016 224205682 141427969 755764776 207301450 946794169 945563078 906042189 628912825 294311042 408659927 796573258 461356333 854103554 478979967 228620805 681915648 613535822 979154131 466484579 814973075 757630018 999269008 173549480 581680823 883262075 346027101 716547634 728246526 695014079 319842776 549267399 262924959 396331421 762095153 607629016 730219414 480090587 771564303 938175875 755244641 482180267 858434111 525165234 232443800 612594976 919087151 703509409 382058113 653191074 476919966 819634305 879022241 402380433 575139834 916853598 260483311 861484906 140956929 280654243 386518460 542314756 766714848 106480635 336675048 779208643 926402991 733274543 830387596 986864430 297791619 102754787 867591805 819651261 619868613 619279077 127485679 434335899 974465565 991714334 157348868 898823339 149606007 274397198 166947069 718827722 795747825 136459722 131686520 875314441 626419627 556255240 234515411 747271253 420708732 107102291 384277807 614083116 818796089 570119366 899461980 722160901 963844044 636507561 874043285 563667946 599080911 346535779 580282766 111772557 524609060 263399888 716635929 176605401 878497389 490655300 848547514 206515033 490933408 937323649 793410285 124083117 241314562 765557042 138566876 587857212 865445062 243064359 725568010 474471771 523600287 591052749 725481707 180306258 433914001 276419292 644725227 374574903 962745597 741143567 662647987 857913834 123119567 990759653 362936432 896151456 289031302 165325827 364560438 560992288 337527704 907968433 669535365 336051724 905403402 486094612 246291693 474314901 366073970 373783574 383762002 424556417 881961126 250446941 370111732 450067992 167743636 423843154 407744760 137148964 194424225 304410902 957559690 419096602 628646261 427642294 319444388 681032922 610852114 890856191 403538174 524011237 323038092 600981473 928617388 533672463 363336499 611749180 405157925 767819172 176193943 632138617 310025710 786592692 270213238 977616549 607677569 141350535 367018844 248820764 308100999 262378595 990682468 620205224 840354020 544188494 819676422 208158543 654632380 399518709 418713759 941080397 634887136 910378023 846760608 471500947 925084860 363371185 667336117 959805752 919000754 674202308 154406352 119009766 362496396 291893389 604867712 541481201 206238093 281066000 487412972 446406570 673781992 902260220 598491672 709722671 786757769 145025304 365010037 447540906 494264246 909086086 640683256 889003505 896914872 233710930 620695314 980221406 844142384 544609269 477031501 456031304 982883054 513017124 361518289 305703306 453359196 900288004 536905329 331581816 987953681 608807909 870608967 848775446 884391742 262845578 420585722 341088395 344364737 924149527 476157306 211756949 581376342 456515802 902496413 937226183 521704615 290232138 691615258 398929442 393268325 695359373 680447545 749420034 303082274 866272222 768134753 628563228 505360351 167684084 113747742 539043959 674104325 808776622 483884296 321082514 794984637 644650492 124944533 816700222 376723270 898394784 163064518 947462198 798427705 788277067 296602735 496193714 491064722 720624780 839227331 354973519 631670504 617222002 840059467 700026069 447974349 306030852 914354325 337892572 236113554 415925928 451419035 987993247 262556754 449644374 601357120 375472103 668260951 556428451 214572544 885206636 150736469 785536960 812877656 398809154 216390164 977787056 814554366 343713748 580708339 778654506 111061154 992231486 584292377 150371282 853693735 618944313 900871867 859070023 324672259 131247419 340979290 227520326 625610078 515692982 454131614 465704728 964527774 787894124 175892755 181945478 951254622 426472771 259793167 420567743 786755669 935122008 283149451 603598796 626465799 660942784 900001643 482611731 806258049 601208516 473546921 268709511 886909658 678929026 964787870 717380388 900626931 940064359 481201329 350374815 401200734 873413909 885879266 862234884 804136007 750096506 633850767 760426120 204377988 525951748 185178872 734558525 153689101 265427462 183486451 624332733 579276934 769395404 857000576 169184473 926383770 773070560 354279377 396507482 458813945 659057972 695968914 962913084 396167483 183811549 650961704 294424785 570996282 835565541 369890078 626115147 869779979 423294558 225861946 978142452 425563598 582159176 520409303 155010089 455116263 823390599 367812040 677067504 243738344 979373858 811019023 817359372 424714751 255354708 139642701 142241316 620185567 204996478 627963985 589724426 371141677 688813297 869724192 962737835 827888974 802943594 826919622 931917473 269626146 142768681 867730045 217838087 631137635 341885895 106652062 454547696 784861959 970677218 846551573 628587868 207192721 385889899 261726025 311633701 613613197 966744562 610547363 105993098 488038008 529048815 234627568 398875894 465937303 949013211 989999854 463687894 159026311 966118053 338395728 326635160 895622287 786381943 168399839 385995046 803882658 623596325 209388108 662860715 261164045 795086469 178268648 654747705 405811431 578312602 414057561 448817428 845633589 843540896 933372735 456303891 798608019 823925318 498003048 263595019 332461510 576519556 795925781 425758895 375710084 686548914 305656122 110158959 762580644 667532982 580382119 918443278 999991031 543302023 601505493 843692599 410442325 340978102 822962209 688686093 721682426 897131595 663106782 198213358 878635260 448678085 257350625 362710479 107038310 846869915 928686426 709803469 397891082 558161432 919893493 968210043 653307916 475144432 539085801 745519704 550390444 541180742 954582651 779709463 537197847 304210975 292288767 160660414 902095284 424880899 540981950 444758450 168128402 860703851 838456064 519210842 916178344 435947929 326517730 257150864 788415200 186608343 446529649 963524786 504990942 764148437 650090035 762797880 684037656 731114354 298803218 263901228 906248053 228672508 556978096 977965736 441269794 819569294 755080875 291097795 111411912 488805281 932429855 365926881 575149913 473169734 336362467 755968656 524964284 319480629 519361681 507588401 881265780 284229166 488561234 834444338 124711622 473604865 736612072 601786535 435430370 306909930 112514019 117046026 680733720 334981746 257194053 638766041 374094970 969736572 579956187 144157785 533411890 222785806 415119041 393057768 957744031 256958738 183494401 175588430 607805717 337242389 863428520 661564642 776152470 357869469 297000490 502098816 532562455 988710977 804865411 994073021 180705697 363799293 458737090 721426769 160587393 939787086 172722192 660705416 523564771 413338144 912550889 485868901 728658430 407778959 236057238 105378041 598592946 326679121 959777893 555763973 468362211 791423205 192444560 883768800 258820780 693050222 664507447 643627503 630448726 752826798 112455080 320853871 913797207 252731324 149079926 577002396 876168597 884541332 614060649 772855670 406849563 132795128 612594449 994944108 960782103 745516550 857569692 583914336 990770201 453721259 212532392 621474796 147257175 569671936 703186386 617443228 383668305 692874919 183415312 580803168 235487978 520818915 483065089 917378554 902935065 496554472 680442705 489956747 219860351 801855899 626974943 876905927 303296759 444650962 662893148 326097707 293069662 287507932 118006660 722479250 594539502 534765174 389409903 638771217 566655325 337435214 107121106 279690362 655252804 785840752 654826217 614018597 722426888 774529249 623114262 847643870 884016036 970952678 511435221 674078337 317474372 333591800 135737005 298739870 574805465 473019497 258085239 885680371 379069474 463690855 102740764 890007426 215639321 310263782 731197390 262359028 334658816 300279902 666419286 468244640 350608370 733774732 979030561 104519024 703495212 488795374 332750651 653950262 564208459 957194175 615406686 381286211 461026880 657965888 543123584 185631310 596346873 900622104 243892785 933356338 609579489 878859731 356404123 504688838 635016803 725540028 652051132 581712533 615774488 543904061 244392644 217620840 236431375 362153378 936684698 784427669 323527443 509312649 528266315 977339490 304807941 454843062 806086684 247101542 885902736 515329574 452321874 783012407 322082177 327487040 958105265 742989725 235826604 116180381 543470891 788894481 469259720 241959231 283451950 141494821 976818849 543754646 707757925 473688899 879330366 366836281 560202515 283546316 566981146 514824381 337644202 869544291 249656479 289939952 478548697 111556960 269604856 553926008 871234393 483620333 601987401 137112114 992816251 618693618 993946120 645585089 662018916 749966373 679750662 496823668 290117415 438069956 462822294 770912572 169386860 762265347 986695653 573855811 721168380 549795672 200730677 872475444 171820116 769234745 676222507 908308949 159709840 409236291 919709995 425023656 935487689 778276240 385478466 841967283 134581297 221590482 790554454 859484435 290694051 868094027 945165251 428916807 489896590 252743180 219671908 944349769 297880939 810983360 153003894 272139951 118728209 315174545 465161670 965499709 532950046 283422279 248457325 759777306 695791320 774636872 643148138 649630036 616666851 436430725 129971452 725696331 127004017 534708445 510229117 227659293 650243370 103371058 122155976 905823951 585606092 400601038 230857085 772492098 276622058 312025757 696381209 470170657 346145348 313922010 429407853 984628352 869470932 244201942 225612632 628989555 757074889 952412181 513678058 714351528 314302240 415478568 677720104 112957291 672211685 343200144 102982786 103502652 667102126 642306917 588003566 212246668 765520242 294674072 173063086 507754594 950577102 978497784 481323608 320220659 525311734 713973863 550248434 789903181 362236313 361162717 987555729 432070276 814095345 882154430 646925642 142413586 845453069 364189553 214775235 556990555 410817634 538819072 277748215 589802745 101554738 212194401 625738123 387837739 377469633 347204375 824998610 531220070 677561367 914570499 813696386 982322726 220876358 953254769 478120897 384609131 335385787 823873059 585849559 766465985 325397492 323009084 177198631 723646449 737143015 209514686 765298053 524208024 355593969 954771985 839175823 215514852 705562814 907418490 949691523 606176404 664210850 619813221 527295824 255922048 299857285 677235668 720914693 657468819 630287772 519704562 541253991 709661526 569645046 320165320 176855152 509087802 567231702 420604810 335978274 124187622 466719790 939060460 856655328 153843157 296248102 123276850 300046882 472828088 445865989 341153165 318958069 247482874 801470351 206915980 702129583 973916720 762527081 877847961 778718570 910868790 458763939 315012133 264777800 143151011 617779150 596358767 659991726 979394741 361123654 977788104 323728781 373129437 655393819 658901365 426175825 968529392 704800568 365470285 695939425 109861044 280039427 210352522 999378412 601277218 885265285 755344097 127489357 708889392 393993842 472973032 769543804 592706440 887203066 257903908 830895749 607451261 676904665 236008564 501876771 613852728 967614705 228963623 862399712 949336184 309423522 896534407 545158082 609889714 101579793 988500934 751620811 722783605 750501478 815250484 564557102 859574111 426509738 878682486 367312757 692596974 614216705 339563613 945451136 163775896 485935216 766151840 768147816 966108877 626351965 537604603 228942381 258487909 764230772 721620476 230803913 650239024 477599324 971511543 563233472 302994973 593550685 916147464 121226584 539927070 217554981 307352431 478049400 382788231 938407601 524186741 798362741 714819397 365671067 618889199 550819266 160428984 986840129 574511125 417718318 680175125 944168675 342921343 861990159 404985362 345358477 909700317 441934049 788369146 881537786 654202882 906761561 419494688 377162373 673468851 305805852 910075818 976280286 574055357 840875772 988245709 359254221 561230760 721432861 730347753 342103500 120805330 889104216 121314669 710018259 229171290 780536100 377931439 969042456 608481371 478162394 409985336 101416592 284724486 445766599 932234611 117833245 811991823 250357557 490124245 678954990 738378934 986189239 643184411 265139237 472644432 857784843 482340453 324004911 439261596 518869622 990007443 305893740 120011209 828532844 876010078 994344874 146404478 112199168 177893550 376470717 853309842 938186072 841596780 278819911 112976593 445360159 139285028 761886369 584338931 569544398 653086984 638680847 451909131 944364417 893564493 104201594 164137185 518516958 661111870 887049167 693623401 463023207 285629785 820739239 750979805 166107688 688060619 192320826 471338677 894512200 761668346 774432463 157562432 442108784 291005852 331986301 852257755 854293008 470422307 663121711 382856972 311831311 677075712 442922282 685607356 447120042 106083492 383967582 429903746 883471734 336542758 410456690 839289623 918337978 205834448 464710677 710450730 677114972 942408448 677840788 775764603 744406234 154695472 971770778 213311646 164329964 158524885 121284050 692200530 359679797 150129718 482565335 636904774 302968452 693309467 259742477 449522542 363591131 860192916 539648987 609718013 249424603 417033624 720877507 595992061 462246303 842695613 483893079 193070914 913632161 131071941 321639422 792471632 676890660 909142185 905263483 423623654 811991825 782577207 283313028 138073391 936171478 124375665 665553856 745191906 225713201 826763723 502948455 503794873 238011853 875793325 684559866 104006002 184041556 861940607 203170098 642794461 981400632 685031553 366282724 774482879 505188785 963459516 528906472 664207489 677541396 356028087 720448732 359103539 688726938 306441002 220266507 222001477 769436548 796305441 715743569 941575429 517122449 815764054 420621790 283639791 661140808 698771480 856102740 987559193 730377448 366733095 576706117 917331783 126316372 318558196 776400490 601598965 814257821 846988958 518186247 873807193 559317093 774124922 202525804 458174699 670901822 298271783 226021015 312760326 883779209 531063391 236043862 496265435 999746327 291265229 140730669 675736695 318953338 165356470 567388781 367968403 493297226 963274934 844807210 804410212 333970076 845544802 107954860 907509888 691173225 870713171 268331895 178780858 238456010 207201747 288202686 500723069 680227383 466693434 374395092 275843815 146171385 914746859 807686482 895517365 296296802 801926482 765142206 252075814 846690488 734575248 728786700 228707661 588963841 400675555 771875454 738000938 981616590 229059341 794771629 949807854 372260679 211452454 953590416 219310950 501806531 142640745 712520716 784593387 156172346 312219495 846342207 164230134 946620281 227829533 264808509 920428515 101551981 323936256 746256477 488609422 125223377 872013360 848390117 749307260 597133575 546773748 467233420 858818186 521453500 575117029 877352475 488265304 878946436 866644271 432819446 879627653 666423346 234441345 251247811 336562716 294447804 688210646 737237280 602887026 518501078 476951002 237566440 779335129 149729471 545853238 951449328 995645394 188882570 693062132 966763213 728234735 156764061 234486064 377801629 165537020 885591107 342799801 196051512 554601473 494931502 826449120 145413671 212683635 484881454 766011666 225540094 647749320 709704631 124754757 834845583 598565535 815371685 964133119 388314218 605160351 710827984 490774714 147969956 456601826 669217167 367259131 965894136 582111359 237337376 304001145 585933667 793327936 781558263 613584915 195994179 696788899 882776296 570069293 342784137 488709490 512282737 173898876 140028639 900787378 457018546 745809900 921127662 628135393 448027585 999164950 766307261 884357999 714984526 738030576 367356287 589422566 472555855 853049323 415208619 770970805 950292424 147127278 313262132 262320140 543015615 319317073 423330269 114694086 190544845 908062765 363704928 690418480 745596356 334641113 761491827 490963455 195313764 903598707 848728334 999531583 319054055 151720166 166765845 579872949 936372895 872094619 198397124 408217186 529524952 573731146 536332079 378447871 489802371 939870199 404638181 975540750 595791426 989028502 954966966 909865622 786940892 329061092 973579702 561212572 801556479 549716073 564729319 947532788 837941241 980204357 495863214 857565538 514137750 865742844 281748977 850745731 518763424 891458609 415592328 151725741 572681514 306950724 906087052 269234247 256173806 146070085 118780705 819706012 833408959 585873426 542493936 399043149 902831652 760634752 391739481 649234379 548691771 794409449 470147022 772331560 653708966 959194758 220299195 277445632 287394898 556132997 767703813 450635597 926847550 163025185 454639158 615865564 999228143 314904672 161167548 457200973 221061494 641017012 308286238 534067312 135450234 508204876 595419427 915896590 733532638 996284462 544981586 683014924 209184106 207446835 430718450 595219086 113153740 176442546 137924620 584483956 191841490 105656570 532771040 545900594 932262116 925500327 826520559 191535199 284601288 874068546 973218443 356718424 591954921 625602248 551465016 920541581 779936404 552398943 578176963 180720640 420942492 634596303 656185143 973362555 849810669 343692314 758678551 742060616 190397192 549486746 577832827 456955988 718978205 115510869 843116071 260662197 617618709 469775516 295369183 168068015 170421661 108630482 772537588 526718298 567677032 219288571 741213747 191223905 350002057 376424431 220525838 109961214 298843998 240735764 186582046 186256189 663699253 589392791 559403463 177449069 472187737 875648006 331898622 476829345 901719366 614677650 684621992 595988446 300134613 989238612 729364040 633052662 667667719 390650150 999471565 499505083 907554092 595218125 821058654 835080297 693194000 709962340 315660881 371161219 870455091 368127055 910000573 887373587 366652483 556340815 734897021 995196364 135319287 595516146 204003401 449622943 287726933 188356868 286696559 791259262 569788040 431439652 704905740 907185492 765483142 925820322 760314900 825643764 344275061 471980171 721422965 712378694 937861581 560892212 429509876 375388016 238182852 952521083 646273482 962279823 896002088 659135433 846287376 386944926 679733693 170108837 531693555 821486177 753984269 641576499 871145223 570137145 385407848 652708208 647098333 292938206 661514715 288228038 332585706 377158857 535208818 174708224 204909646 945442205 617952732 677462219 759684727 119458760 641639090 252702535 913349950 720244992 990210971 757017073 244854724 323796161 960573010 875757962 641640856 412953648 295577654 854413842 462459381 308068273 170189429 885266713 958361868 176836339 116839909 658344636 467421846 552509851 591564220 333083061 752169749 887844512 354901579 639228479 726127946 832624588 628481724 753420724 422720188 638870003 724957302 980352421 270582625 918686695 358511749 933219392 738726938 375182946 953888282 116888989 273442889 887592374 840735194 302738948 517727333 319591132 408813283 385328136 783588588 223183256 293652635 682664098 828939995 249289009 335882914 591683922 948337918 206352849 315315713 392577921 842041689 648122842 216420231 436414616 548306154 733629276 898989218 541717954 417312358 717950439 658832207 607071490 118631674 534821851 971171642 619837326 542122654 606471540 106474296 371133375 877285165 464280483 875856698 140483369 356364100 548126686 820558572 261258087 985993073 108437371 158507015 179607737 778874406 206363171 242193796 751791978 316486911 975039796 760525243 982821610 301097064 401844245 625653536 322842460 210434544 315462220 631529037 470591806 466639861 469211749 109874974 271219325 227420409 484809206 656264725 871075892 510981139 841295409 387134802 762404754 275089757 373721570 927903447 721937224 698738857 348323920 686835153 564173145 323710581 578846500 696330195 809541440 481930680 868637705 403022805 859275014 799994539 719340123 441344168 758535815 419716652 523563247 489056211 135221589 470817092 591222011 735535045 345772953 828419090 542335075 687157546 498706177 130582933 338688949 317560908 907310559 507748238 196813728 101937088 988816278 929643364 962423987 958445073 639791002 440645207 760646755 967452487 313231982 104351721 404894125 650302544 482507742 389131163 824951408 115965031 163468404 356811063 363451034 614186807 406077450 873114882 447020421 953209493 414052533 927469024 890300531 527573443 908119469 567113718 373468723 897419522 174279505 402632605 929107022 116696499 648141349 329679788 457616002 803969307 634757077 949682208 936407500 432551713 624443496 351817094 639355156 466300579 201533029 715045206 204074710 392190536 320956330 319499436 902628479 343290535 900779722 325558293 209170867 957799973 452558432 311077571 337996198 463995371 923523703 390018085 874758101 798661173 942979698 624935384 531377118 542792269 530569541 767815818 716432753 443282986 746184309 805355751 872597455 373463574 754110402 265877264 498904888 295598131 770795656 210549221 683871040 586398819 265597532 306366387 977694911 177251255 343227500 820707908 464423654 524128330 483391991 819662287 367843954 983107913 131199538 652967683 870391307 305879080 811525666 533239837 898309761 300701141 405886155 358632564 686968242 506718655 960641246 273901388 968431772 131942108 568638360 508326146 655228045 256802675 336901717 616814991 499540380 783313896 752724808 677886499 566347425 101417125 419969242 922966455 913363753 820557508 954271922 733125764 963778222 161456812 598867967 975917347 621245319 568119093 974232157 172668319 658432976 875642472 860242047 524130588 177258221 885843620 882122785 453632188 717033193 976283510 859418522 872473794 617912110 539039692 274446499 169748643 855805398 777788562 675864485 608482810 643816756 102664290 978825337 418740063 559607498 664333066 260418718 255520805 773984089 348747534 419021731 663619287 376954886 498946844 382876181 921737866 503774174 128668427 620217716 598419301 612752309 162318982 859254229 863654504 829562817 294663508 787157265 156943403 335951700 868640725 982423379 441116122 209119789 493290294 100242551 512473473 471813023 939519815 594320613 938572523 236921708 585265412 249345682 237849505 933173540 933641516 194978782 251937985 524776796 858326233 582702142 358410480 610369978 427670869 390867626 247384838 529046710 424166387 677073911 768833770 962207617 912233125 740272809 448309866 208185962 974203177 599114605 639706419 582675778 858976092 626548019 938175510 840294140 875089804 233502952 950739601 851301029 497459853 230063812 472318215 126232300 508200417 522839815 873050900 903809477 259590216 456753121 481420601 161512037 645690356 698228911 942286882 827625372 782813381 141948180 536477603 891662076 513380197 755629293 624352514 724923962 393833022 711647125 809006602 765203384 504449122 952415407 809185134 878078729 157687879 871955572 940622487 835568167 209356401 339121531 206976168 980423832 908514061 546725464 550345564 418107505 380887402 183286002 268403844 498426614 157122009 638165610 864992033 580786899 461482116 108402841 803707868 964012947 935327818 961269171 862986826 674365089 955965261 435818683 528027739 128116584 377550957 809079417 822529662 999484182 243285861 272442418 594416442 931655457 273129021 996285150 996829027 869370215 616044840 353504593 965058999 530011342 810142792 553415656 252900359 195641525 482927358 843355453 546152430 764777872 413279754 905751992 901127507 244056754 820595106 149381415 283428940 318969973 988841631 540578624 153563584 532545346 992525145 165270277 743042370 152724306 986313502 735619156 455512925 808304158 990527468 565233210 610809811 988124496 224147427 705738583 217711817 903854499 481082266 256273639 258965738 741561116 819025011 265292605 694276447 630920028 598977423 592535773 438279309 767254973 173185867 918162000 382926040 883724944 894924015 791019976 450827977 862249863 331600084 985196150 414914538 278009203 292405668 675682590 635665621 487373398 610435164 838618768 284391228 897699353 982416871 414620860 813438652 698454175 135061134 242173897 251817004 934177214 722336718 656503496 153210272 124074622 746637677 356050901 392767447 416396254 733799503 904259440 965705294 588697900 147768680 972570135 470618704 135239827 722460252 150260528 295331254 441864369 387078138 500049404 171441748 776925636 645394458 727133422 501536288 230201106 765392273 784149981 534611386 196936303 915425178 221777032 726097824 934380703 478551997 797363646 284659172 115209352 833292044 357740435 868678186 489975037 651067861 550107335 776388873 374203951 558788580 150853491 742948005 211407903 646681616 841476148 435953124 879736349 457070438 540411181 332293407 899293385 236080450 873219566 102321700 337762339 241110188 419975730 222379434 282814815 682037749 661192850 171322997 143574301 735699399 149850042 730068287 695783680 942939352 609412159 989572101 262580445 940214012 807483608 465730605 490560213 158943469 149566578 143760581 552000740 998544270 787279538 252045827 256654785 267853323 987808768 891473689 742266421 742359710 377070242 273470376 520496230 997152869 978344696 105365953 850188552 884489181 567630711 967770059 500052180 702769353 118458689 154784039 935847948 150296627 992218387 645916555 632796220 763273199 463006497 202149469 768992050 584995974 278696841 335820529 929151053 192579304 835358944 674844051 564508259 946119229 661343143 517971773 368699933 480531634 391220534 812097179 740038873 887260877 728373294 990676794 309048723 770798889 886415787 350516488 451155007 922774868 873074561 393473447 650719580 749219717 479455241 427259639 298365040 321798876 179236144 602883767 751542762 575376683 830810194 689501857 542169330 144832575 967224417 969818610 804457585 478963175 726309639 845803986 282508138 351463156 791714619 470553895 736189169 422700513 161996815 225050826 640938347 161630944 199473123 137693446 532071610 655325635 943248799 141112231 584663930 759681676 972249673 765491821 314459552 771521968 291959381 868654653 999157985 713937102 147427706 499444680 856924674 488373656 733983071 319814201 769180493 273345156 710470222 717240531 504407665 861351521 423897180 413695039 120296064 127604204 766657479 728878636 889264837 469658458 442317137 333255111 903060230 190798083 269476478 157259039 545577009 849285244 286167994 424744890 221624004 891006812 981238784 279798915 133692029 402169182 848266001 297274954 858002825 884088605 920223389 938878101 398325138 444913718 171733658 237467342 977037417 186873400 131416787 297738385 681527691 648446297 782690548 251554390 624832906 570139834 287474883 860952031 587060911 899920117 183834477 901077462 821028273 842848394 530335446 580330262 508190629 977251540 353696471 131729336 220675112 727967461 141033365 843477990 427461306 558880064 915755705 501305437 871645630 793739904 813212981 126152224 235344869 303888626 266012379 220402218 948597702 689097803 699393160 159366228 282126228 190767378 207856606 222719038 757829391 541612498 260157584 608320700 348380798 962579669 867983068 888817670 843696222 644911551 206083510 964647313 994703850 397558010 554964848 219914526 423918991 543516958 195254874 325495481 463570177 356818398 447422723 101760942 981334319 483777740 494025656 739059600 338585800 253113273 272355097 716349955 175836997 344610204 597628447 699039973 608363991 822124594 315098953 757860470 390126141 947086825 190930734 727478811 829673572 400160948 126115437 360167884 984970971 661071328 963231821 172101132 780385285 467152152 906459051 382249428 128905174 808866164 546988082 388524444 994452766 140774756 989873463 972808354 712801113 686348156 220427091 831089339 659449682 460399036 834627607 944089703 491768922 962677218 474727586 473550366 340094595 397367366 778003886 218107686 575822422 201007779 990463978 281001632 939440338 900924023 247579253 109427942 715066062 194039617 726969366 446112414 559357567 917508872 617888843 242504766 832387768 833907717 623949336 804113199 934095081 257755950 256059413 973198182 604699650 514842585 317143753 803929544 649089167 960554196 829332276 843492935 822970180 930352299 309209894 687134027 604998236 709583036 607493797 227354832 156859347 842644705 762699963 922643622 772085808 139658488 883011348 145261480 507603960 688319282 547433201 416635687 555348010 540486289 844192091 475506259 689004278 418205347 684708589 780489464 699252618 821291063 440342576 718002844 725650989 724906419 165171634 151933063 775326522 962524393 249076663 118253510 198750192 462118076 671712228 853161813 629552153 577310740 511670528 616879939 749741423 814329011 357597371 689792925 990547262 111533715 893907518 381548876 343826365 361638566 105977762 172842983 264335740 198441952 560165941 966588001 929815045 637558545 605901339 221750446 248459543 988358658 559834642 894730986 650036272 953049940 933444494 145532734 982698504 705007324 722494450 432975164 546435141 697204986 890214162 728968408 925333617 113558812 148130421 934160312 964221562 674206937 177018715 246838636 173522638 466129817 755817575 479066772 794564187 657031638 846474837 673983380 923081827 853984608 908588464 592121335 377896598 499547663 920379138 643090464 536796165 721799879 142247439 678329012 991333357 508558630 222579502 241666830 477016475 718189569 160408102 729427667 867241992 630363898 218478668 251407087 422664211 253673839 465404459 337023481 657262587 463850931 223494968 585908644 426306764 723334228 934226073 159601160 476576886 243650048 846709344 589060128 452027332 462916844 188969461 957627331 216020306 452259729 781713670 502280820 341841944 413899729 306633856 514403725 147687674 134920382 435703646 524156041 386212395 441095275 206163661 437306172 399149215 806467932 245218177 586669568 361056920 216242667 718684448 380074300 926733943 569931989 260695397 188101164 931720992 852293274 809147769 636096856 397554550 905920027 205186465 556767996 934725567 135969840 256965885 726159079 738693633 379394749 191730329 488631522 210601007 890076691 972238209 858837057 720962840 584769361 157901445 475710962 644357031 317592385 146232854 967046221 391363965 825562526 510430429 455183026 481093343 531336684 656272465 816116474 561298511 386490188 538903131 831985852 660957717 857818922 745288194 283636553 576721007 475828718 234454313 756459463 492054091 436336454 206283873 188111132 792630641 833988388 649908273 980148204 743823164 891991789 382689928 502361368 773944372 841341026 919097731 604669671 304024595 719620920 471024339 586816472 468774866 102257707 890519133 765981242 881072444 522921736 198113319 288343020 792412479 652295898 327359441 798240880 886267441 941921369 426715069 387486527 157188099 441863132 632328014 834143050 789966452 299154646 530023626 282301588 918291743 437106001 261250805 651523202 447050658 574197653 350114409 499864071 336697283 663810311 764455889 814947589 755487965 381130063 438545953 776346423 398468730 169618757 903052163 616977112 388118310 923635847 438847069 864120761 135522641 305482999 850869080 738927753 579032685 790349259 841622990 810378497 200031254 251634146 335693003 556197043 925233128 915887019 274143821 224921116 553919990 852611883 341304820 179307382 196932406 905042952 696157901 947961282 166508811 632424164 281969223 912829220 802287823 403755160 143912427 947600275 989582958 735627251 328871631 719672357 805786274 708607675 828050912 401546208 859727358 984857512 149544799 491713687 627369206 168009380 687711370 519948006 259757955 289426014 216673232 281576199 580581568 950765303 609848638 201516237 512291576 193040418 152654960 944100125 937619922 324935868 606388723 561908555 534909874 676381525 677998227 661170991 828743203 479415926 630851673 699431020 753742138 452621306 759724612 912995184 482572251 570232869 607491961 495246894 668346848 399760577 303850547 363352018 786069850 451015940 755096592 208084038 386471615 475749568 516458263 359420070 249825707 586557181 875834908 648045265 139424038 918438757 238968321 787118191 887507465 277595643 443052432 678964752 196982520 126900230 446501777 669307322 746077094 239813667 758529652 644607027 255826075 755126876 696337833 921715014 406425453 782498293 946470295 175794728 584258000 827602831 156165056 859931322 411504577 246811455 399585491 132541046 301930384 201239890 706620799 391965047 538533989 667971971 870150827 564816986 630857611 896414701 807404796 851458431 670127059 215711858 692830425 392625796 307960929 533102114 332530555 661326756 860988126 849669278 293596011 555210777 470296116 225573933 143465448 416724897 286147883 642046067 453826584 540737472 334981963 857296780 616292264 682588881 856541237 826135088 184742362 768531132 416801877 260727083 863625579 934888713 254101436 588388271 428687088 235991549 430632438 851976447 645006712 597779743 500514212 902509131 266339602 911427500 959233219 563052392 399100194 590762750 578854955 144662600 243946469 320733703 706154601 361628125 469705291 412427576 408257599 650014928 550278201 547190905 696822095 193512947 990780683 899327810 594445936 920281316 982890274 636547919 908627990 658733509 643860526 820587745 363908876 718388933 555180110 864649710 669693445 922494120 282098359 666615187 489003371 681256161 931305173 506267294 324463539 372152735 443855237 197636323 377517635 201222435 606337687 126660828 978157673 812696311 541616234 683152116 857308680 450467717 759654189 552439154 912301040 719882986 726831968 602393770 634007639 341872633 975073899 137532863 367236737 260013348 818901810 430918815 121008083 216503830 456470382 964721325 406352742 186159019 306007345 533369303 209915290 647646260 659812211 597859348 469390289 520835538 772462688 863130076 375765887 871225374 470007684 752929300 911793587 877665501 487077767 494434854 122326152 347656296 970019559 872497530 187688704 388448053 814313108 775468824 462227290 705429876 187741873 527431270 752871847 413649021 872184414 976187365 178987525 800864363 614745875 382261860 840666907 672880907 761732773 700193977 682124137 980887114 114961063 494115676 671252778 249049239 396934830 888554286 800404431 684577110 140184228 631398470 399127310 381356477 554253888 219868240 386311168 345097105 574134793 988844950 951343319 801233974 155536130 280919444 899845557 814172580 183722247 449407728 364492714 891047564 630894647 449830391 363681825 466916156 189350131 906206833 807244699 666387823 388903684 829665882 623615734 877334406 601523519 974434170 381021430 286727702 829155863 155707600 736966183 859069176 288145133 485299747 281909934 522854654 667842922 352048260 422899713 507652610 720736894 302606200 653068791 822857066 924609531 492027609 326430235 296366511 716954107 716531251 565594658 438056623 826314631 230470987 605249641 683695432 883814651 674986105 865637806 960348697 927380011 604515236 993697174 516528012 142301504 147264162 592935324 337902322 570540320 925139878 404851327 466926811 176398603 296094028 538620488 114124657 425147628 794271363 916312271 262903761 108973234 364733362 380527214 582176565 185414249 998294642 255768463 399669689 524779108 964779215 597874497 630013525 693487146 356455337 198587847 694604432 855192792 800623553 290452480 194282683 616656027 472109302 555122356 107761629 326971772 803265575 869647696 390684453 703055746 530323774 115497462 421079932 711589802 979662149 162298109 986424716 168670903 136982640 483256421 319469222 508826337 837453189 408765447 335026174 456958125 265884884 817359560 571228956 449790444 730888462 652722902 370989811 474570396 433802855 447934670 835286957 608621072 997775748 451717786 598802775 218753272 891267971 126410886 116354792 645041147 193364599 497144350 494086026 215577602 271459513 538157655 728616690 841771796 666658039 201680030 622983697 667955896 777331272 850327449 880428868 992311751 361273040 587111164 538630249 972331182 840810787 736964034 729556118 645251273 384163460 837158648 623334857 287571696 806188396 439713279 582041425 332152904 279668868 417817161 564689649 993825816 443767155 962849931 767458463 692335170 230482453 928582144 451295560 158619641 243458264 582568072 107080389 185160011 914947149 573737254 327509876 838889831 459945216 204227742 762125876 154135049 480157126 606085868 801772084 339088064 826150523 615253472 672880332 294872157 186729171 105433428 880917742 637649565 176781398 532552501 450162470 166032702 246271513 566136898 145561849 117985434 378961680 252989852 480288708 177492919 741163675 479711782 329245401 427836505 528249515 433651210 266069405 255900162 637958932 439894572 685038046 639525138 568842149 536851739 377908854 110619246 931417634 359282421 510444348 387846428 519097841 621998790 307751063 687385964 131863398 456668689 801164680 847798780 732038412 719670901 697133844 492665466 193811323 579104676 362573042 322581685 720055973 677054581 166551350 368090998 340545393 730581498 749257584 768183841 809963500 645580166 722215014 960772030 826487081 145174168 341183720 216126569 371895436 347447319 252842134 373087954 649269966 810257164 560951507 114272570 793292508 193251612 669930574 559655383 254033748 747498450 791959499 595769046 497994668 737335844 696584072 798577723 219021988 306465282 288650457 352940684 764300047 416256229 174746789 484739499 352077528 631918578 749641802 852790134 742407836 763999534 653227632 316490063 238094884 567826967 381625013 830166250 777341663 480140797 377892364 719648987 888678938 708223508 319399904 319140371 581630523 136835130 208574938 725499596 579568856 303624552 863355078 735511728 878637137 975597605 541579925 533029858 163851208 735744173 802038667 724971844 858343882 960315503 264517064 921986401 243667192 522925660 451660654 920915652 534378332 741143885 426457558 771838511 622042878 447491138 320881442 366663416 255455985 839676427 134273883 256548227 332063402 341219063 864880439 877856826 624477611 626764635 934191782 516363485 161844035 313062225 473158633 298690289 984505973 901675016 879278713 694982359 129502879 406568317 565106933 526915059 444596153 540904320 595400498 558951892 979669707 194377879 431946030 320189835 601850237 152229488 505659882 324457913 325512027 311856064 383234957 615000483 543284384 664860125 661903414 443570827 974540153 396721428 671433686 274453172 632249903 582053930 333693858 953770423 813225663 800529410 437601596 409082993 903384952 767273671 581480199 656964085 781428767 207995830 405110493 200501106 150159262 983911354 429959198 387376284 392973419 232950453 837498846 337098281 319416622 512263453 886257852 252852724 995526297 588323144 714355951 171945944 762108169 513305367 183064100 642384091 854214428 636082984 658739015 580713778 565734862 126595786 214830689 820293113 830958538 895505119 569816815 860146528 563158128 370855570 385395752 734769463 549383629 514582626 221297593 760010889 730432462 360119633 983992165 715651897 586217277 467034338 662146632 767899576 656019997 707881209 242214647 813003656 329436276 677824519 239207856 251725607 851257387 547153058 997303218 390439656 682853914 968639063 831738001 242030366 331076026 991347284 222099149 602541436 603905436 593005986 757335323 111300130 992107130 750968663 379284051 969016335 680313240 469082887 987310050 303565054 164145964 975324195 443525821 821334322 451739110 312373117 657300030 719801550 373419330 252318888 467326934 907156709 969716782 274913413 655990509 563287503 308457694 890318182 360232723 184420809 738825142 388089973 444869119 566677097 781194436 576420098 521894092 796208602 115618335 452756045 509881971 669975873 665929543 194574591 830041123 204805002 935968660 600417727 545206954 970545797 673657051 279174135 988228794 710853890 278582989 222375871 360204850 787488809 357412491 558726894 942852676 274521923 948966838 544138478 470804743 820451204 874685951 708252760 292624779 462200578 112508707 106612097 243344634 802602592 752866906 254653615 632526497 125618495 442075212 528566345 619604664 697618359 313003742 312877815 255356758 403367962 615202734 212295221 224902410 221713558 340284497 955676261 813833225 703168910 263605387 383125887 549006904 917394481 283364146 764269042 503594453 631889406 160384726 987691265 508120219 244860479 227175129 548625456 918387098 966326605 305175957 888933474 388906631 757524876 963564339 151403646 735175673 684493037 784774008 509753622 310205069 635950544 318710277 587067493 776584172 673321036 676264166 348170521 517499402 480928104 125187469 633635671 284668560 830728341 626407292 756514922 578311602 573032384 155568297 409652253 952802695 641957825 309306856 634442640 516422805 888271419 507930018 701927283 216581786 383281064 282112764 294887178 484009800 135832666 180791714 655258669 277358170 122286540 967731118 482383114 355643714 837576307 344947917 242710580 229476867 532773880 768316165 491236024 125840970 308623555 708159943 549945728 470529789 883526196 268637801 654960527 343059966 948607274 424794673 676584823 530594023 422490112 144944627 495073293 918594889 743256282 590552913 398083968 258586176 706196871 563397709 980127478 554973037 563803837 831371096 845459490 910937903 911977433 173335091 442419758 334517144 375060171 316922457 784379061 367682167 136962220 373683255 168277358 511798481 987832561 333735854 967903491 307903769 330103415 411501119 456374135 917968806 837716984 779435182 270010471 210785905 433525114 728356935 823130139 272425560 351934095 841457101 171529623 278428974 389145050 150886730 222379825 872191752 885230010 385496349 787667996 673882418 714524110 714779934 107032674 787638146 401763166 315710798 674030165 982642295 103805083 479193480 603642053 948225486 684977843 733360584 671441373 409175146 873521226 571239209 572551055 203556191 722860705 867979730 325152311 846944524 879398944 316864216 590981075 883493152 575672455 572885259 752906904 240589166 393279808 567456047 525242732 777768464 210979751 101651854 111391865 477094935 425952475 850618956 317721983 264920633 510602291 349724190 309293056 579198436 136604228 254480548 693026982 560107646 541987958 923116794 271953862 747347740 856513536 987072323 812401844 864637634 673638941 178029607 153333706 498876698 533190632 962029088 731346391 909351454 407176166 958459783 609279145 870167493 454041171 670901222 132786673 609999912 689840592 649271770 225572075 573850943 964667450 776026786 936578132 467282651 181920072 923801975 167749636 424491261 815923997 389793913 698674076 132202359 208397597 570796847 236543793 498161340 291893983 734849176 757502695 843833505 398457685 134161534 788003844 445668897 965147365 517511147 979889527 395083426 768081124 191627821 165263127 125586913 348601052 960573983 374438769 858790848 467117991 497010501 109677063 452966070 382078482 797259213 468823343 501766711 984429477 283965499 295970961 303893356 207109137 133197865 434522452 538427494 355617367 275723819 653133080 348810830 840157571 272486785 377965059 220104133 603441615 976282119 812316429 852359900 830242074 715006029 297264548 451989306 232659000 523701640 524655993 546390672 235391980 886637988 486550529 707838043 946712585 780170600 525189060 466551638 331999676 359497936 717351336 633359737 229615719 833877159 255794363 275101462 642713747 312603532 628257220 844848035 758504081 234910415 788557662 260684031 656749934 319186166 662033808 196432490 479784665 749109647 753893935 434100880 878511157 331973377 255049705 893007341 573223211 417997959 785463292 903411747 229922893 943737748 799160060 950859265 298583288 424743933 982603113 714124626 617438056 759185094 763057329 618583212 337945405 536989447 132215215 312138800 635261251 458509240 638375009 905198297 680026891 624308576 676225972 235936269 907836349 329119391 622492710 973995081 285963243 263120922 579456460 702420166 412546740 308161270 614318973 656514990 816322304 497055786 190831655 186482454 359538805 459311293 614519958 464697298 596850303 341783899 839192147 639250264 443450864 494212979 656670587 527875329 807449047 632903408 686384737 271781237 190300717 325658215 200907508 643150491 257456548 276803655 927742618 935782617 675686624 774195170 551761995 655510472 501571792 808907236 146807098 467793119 679286151 212743686 910319265 770414247 860588751 391994630 522565645 306137402 392672679 200137238 944668374 133840041 187384791 396063848 144329591 871751966 229410640 862936687 423990698 157005936 494611891 936377086 880020467 278110709 250941092 749647354 353277900 990035770 892644994 216251604 970320023 668649652 453864882 331101173 596721608 155984273 826893685 455652797 479371946 401507967 173122911 555166962 811640138 178210452 458902893 718620053 205844537 512004098 402489428 512119379 825275315 148667319 601028011 359420044 572698736 567781809 199365599 630950745 374923155 668096139 395706569 137687851 694355747 714049539 999161029 678681183 362159935 915077112 155470119 996084428 502910056 455589849 244799498 944313571 114463023 380539471 807622198 818533740 496304712 248980176 632576153 925187423 870330903 982242568 884917011 673459229 523808890 175762178 579309391 395045143 706269755 934934621 343617008 878634359 856421419 927660021 459598119 557247722 611082380 249945552 768969776 126247649 730498890 527268495 122622235 208895406 650264116 845402178 351483257 465206691 242000531 922266543 512051137 448483073 428795539 660925563 610141460 632739952 215027819 152694443 793592322 270975847 707003924 654545505 418220560 810764996 721047464 923968128 417153603 294901454 776258680 702856352 303441598 312823159 814693613 208198344 905375674 556581469 427185189 848400048 808819698 317914213 262931946 117135680 702874299 499697803 485619352 898900438 720815304 480238367 227677946 848873547 755063556 491863250 360676678 821430650 304982661 706697218 480453862 324743076 638555759 981266893 703519905 413008620 967043866 723517890 231507335 127792883 432112895 925467437 677983834 642098996 975965787 152047368 841739243 587606004 731494291 848842932 894445606 838764690 455909444 162054536 563432193 286847154 744946870 814550362 772520750 971959801 878424890 382996609 969264376 748908124 738556838 415651918 817146488 114592502 197428773 272664334 289987764 406183272 401105054 987185322 564447774 738857628 527524901 406885625 599021481 281654894 991841364 346013697 472653023 765973338 528109379 838648680 823052929 828786337 572263571 199113620 161606096 188339677 238532914 453471291 227566172 642898526 673250080 673256953 193339973 364237546 163570220 986753688 654057129 901847754 966057939 874924813 382133132 431558636 539298909 683544190 501425897 285334546 740585903 924868403 665528526 208508887 964786884 486513796 114653839 242052409 404636580 707177031 728388509 993773105 420251925 269045113 813345870 629822828 160326673 332001083 706305942 671268488 725426586 644176738 874497857 822307758 958614307 280307666 515554728 717901279 616896160 872543766 249409450 858399817 964453439 222982097 550648743 678866710 684901427 927165064 181662898 347163015 116822204 689587030 475958304 502825545 378320312 900145250 741865511 714307884 487141493 858512665 719478908 748415803 526429333 844686654 222060473 650423920 384221056 162857597 312279201 728820508 527523718 639037448 506185286 439642303 554626115 904353495 602778977 211608997 536895371 186173109 894783549 702386736 909547442 283524070 133020794 205415743 240202743 890947285 474459588 343626921 941384880 903933471 344048341 608743893 427632841 228560142 431515548 156294739 987171422 227470076 585410537 457884216 628622793 944522038 486310011 601545963 975160769 720846042 269261025 390700910 954261990 489678967 283089021 184283107 438260320 465674757 533259286 946652281 478103908 572685289 268003872 957112704 421526058 651925821 112707764 105847325 300552407 331311514 164132124 894459415 762019163 814477616 233426457 352482558 436513949 189802424 325717553 334664630 869587499 830388366 437190336 842873213 831047314 439251700 881415376 955198254 374606560 485874438 593747409 487938862 792125277 693559094 811007667 449663280 735664651 209094619 327389114 747079703 907811018 442865604 761068843 992911153 432992653 783354832 880270594 769591292 599501184 617397787 269103876 705032148 106819225 875514322 884743351 123072740 444844217 292479515 754045427 877177132 599502054 794190588 110235965 785985151 485831660 612639763 283497452 546668095 355411743 470747632 118639949 852024005 509595573 617604197 411333975 346469846 259173799 269832964 269576444 252212379 890677117 316799843 632273107 657468168 302122155 348060372 320912925 163256888 464868196 779014269 231310132 454223565 392150760 706762494 419641402 503612402 571440156 374721838 369524987 959027709 475959620 228416503 101045549 368753319 835341318 169216799 541131745 994904250 540278237 607588419 531923939 429328639 304988045 574650602 891002147 262196630 826970654 931650953 462348617 218308639 535792848 313260189 439031461 457103630 100608663 890721615 831387356 805763777 282195063 360835804 592613645 738298470 605640692 984464224 386585507 271836619 134379364 167228336 986128834 760119131 285779558 350854552 555002918 118710446 593126529 270661427 374031946 894091080 781170522 497040990 677775417 134612489 238153595 849576990 541359048 234206875 871135396 464057671 663903850 936184085 666011518 117733889 809238743 556149550 873669291 216168497 922956849 903458260 573233566 351953323 409893887 777359045 866432781 961984327 176858966 695094743 700858971 492112939 657413716 950199970 751561055 720540795 328779345 953330121 806685890 431400111 338437421 199496732 405239461 746413108 789963899 694501822 609018879 117741712 239690070 415316305 616946073 931039772 490629944 549668908 339349646 433778071 693540340 763040643 617901304 335264650 603352125 536384759 472273053 363899974 280286063 527888906 650012426 420069144 151455999 652610232 834543408 414668189 874318469 953886047 162941101 224922778 599548812 320219814 786565020 406795533 167687982 611581498 353773424 799505795 745478105 410598221 330228006 982502437 221691477 497907542 279083609 769730305 875790287 660807045 584898334 915359423 188068389 529922849 186499639 623179021 881649129 582639844 282673916 408457269 368754556 992115763 902441200 627040607 915615282 482240352 486033477 950775161 179033159 557171759 898478425 843180416 395253764 942203052 371524755 885911458 571674371 368075073 397319609 139098390 340339010 991762126 776914671 328167828 811484536 372078381 977629894 336859762 964140410 756324492 201513271 617713385 665067897 497065550 765630991 822810791 167574490 568991615 348508561 865688560 133304641 715197584 933648351 529941497 579447888 149365476 120556405 165904662 159572665 798961136 968995536 221942902 420715060 949615096 561792584 125201426 236444257 985471387 869317385 993054282 408533168 145180927 279519884 333909089 520434808 429156682 305218378 695039429 105058350 966784321 195898978 921365408 243220144 744006357 685971878 294773647 311640258 321405736 930044682 776603149 344546078 721566540 350231893 604579944 979432164 209135885 256227907 218084337 219121549 899831503 629009993 442898524 780966344 396383408 670627670 262705337 317700396 221012063 831555363 983351934 300392303 707675622 893460008 603040514 681213661 828867825 294168100 885622116 476834696 548065613 929212190 803379909 531490166 941285430 857154618 738406690 736237819 796771454 733563929 437934293 378721474 243828951 956020470 371216714 289468227 706946180 108754102 323470870 794067759 113078700 700228925 623020706 264838734 338486584 492464143 348796431 452183674 320945018 584478339 271792425 636579532 300764641 229789748 921431476 149743381 711119691 765315056 556682180 557653944 584140738 893190267 864636732 519492558 475267385 636523314 451602204 942719659 289195490 760766112 309518046 699786426 464112089 441412642 469241112 496713550 396207303 284237246 993294240 419475358 266225206 958798053 920449411 233236899 397430676 428345959 168918472 997211080 723374719 199546303 648166960 948670753 191065791 952746774 579345374 521592256 314361483 641066029 545088363 666429745 383733841 455736866 423300069 375688758 168946043 239769839 611521851 187115285 613069065 291200050 868740010 723748897 975135960 415812419 304290614 948284299 666657125 666273922 332978992 542379378 706934315 915530541 494483599 875238173 203127212 793085115 364663130 499952329 251421287 817172641 694665375 426421198 255557147 578245394 716067096 182031534 328742847 963733144 796059573 616988362 648933285 720178075 561856974 762841583 594115460 929467107 879148394 710414038 626528576 861114502 875573920 344755518 506136513 747392856 552996030 443516620 899132590 600450352 823393618 206312790 592196058 510915429 437569347 498885957 882958515 580157560 437058521 477988575 374145191 598533867 933893979 127174336 764543391 701868866 645873979 174958281 827933338 303099242 960264510 296097324 704586716 812663151 205604739 996040335 596277951 545077262 393443830 407719181 557780787 209962619 569105543 112524595 948459636 945523390 399449711 506290456 223000248 213461119 852202528 467114981 213017803 483645622 559337122 236332231 684182079 203862801 557179592 155763339 557004250 225776496 232842999 910519305 787562776 901441895 491562094 206065884 850844894 822389416 443214914 436120994 817327494 962071116 939402618 107999769 529097575 655397067 747269404 405007559 507828030 164178381 242909227 491211648 841255779 926785935 675358327 131192678 820076008 301132311 544032696 404341239 370123529 694230956 427598530 699034301 842169171 537722848 279763694 786984103 483383703 487339076 714640634 280541123 819856156 188675129 846952502 729034713 249720262 930591121 669199863 805020648 757438153 267725457 548453848 390538232 448263691 592934128 171679753 496499888 620681155 294013335 234730576 367829736 424896451 281264467 311527839 492046167 590721727 980579930 365117192 461336119 450409713 654504969 336372904 581510542 458877256 678540381 802472739 251676509 609754997 619807179 898804859 338904612 397225593 577327645 645742114 932502363 246315365 336939247 123664382 683555569 272678495 270253140 646684580 947845076 902882904 108835330 588172742 183889587 532380211 319486315 477582446 231869022 560703765 275449301 471340118 576114315 813982719 342840322 745978267 149341122 949731173 200865675 746886591 437338626 439451939 623193159 316130739 641703785 338902665 591335389 878214481 402554249 850362418 671040672 834107974 209814107 113464298 226878457 719136205 500595782 956754033 749174840 150656198 246167525 444095191 225847029 184178955 359766564 219302259 619731085 229056789 586029111 938509830 754605519 747002915 426803496 451946267 268485416 789138121 214628512 943061714 894365801 547277473 914389384 692822258 248747898 940906080 809979232 869146514 344605862 256442963 334205662 542634257 317109553 672533328 868471587 686747613 611839894 323135614 571920968 897431558 498805379 232597548 891419627 640562198 842766319 904312928 566312663 982112931 764666614 360040812 814813411 340667323 995551370 297197723 694693784 118129193 863605309 845986448 995014501 484743494 117812859 177252364 801573188 533615833 752226021 851837003 729936181 842204448 660718490 821623518 743573323 375560668 791541553 692404857 731577620 486998058 199264377 717133202 210983655 692781165 105890619 992873658 890671701 164382565 958201775 978277099 970590698 541128840 974394024 609214926 544156114 261642542 246052652 261585423 874471536 436480202 410501522 474261540 356634434 960816276 303592670 426244641 587555858 618199633 353479297 191413920 483321596 885007312 480633171 303651689 670900778 815682892 992887448 638851988 167903024 367881480 842098622 338564057 406489094 596590504 518820606 504704190 619217676 643550276 739839126 929315857 377555058 380893672 825727544 219455370 352391343 790371525 520330338 478942625 192958195 447613369 338744848 472861271 312618558 542069434 280085214 418800649 824287422 713192100 560613213 253267321 806477549 440514995 621830958 955692400 838457063 476404373 105034904 741911047 975698710 670911068 634444094 289657108 549387944 216587476 679140453 886641912 385699508 605873241 850944201 357467201 744514852 844350181 201270143 981724617 399350916 132378865 288466843 430294060 763548812 763999754 596391329 353444998 198904471 132167196 102528668 542982633 699929364 255385797 766769254 168002474 862400765 879292356 986570109 387814537 132718439 306106399 848292633 732835939 205126785 844672498 721502801 125330195 472036592 291360289 262137950 568653569 473548387 775588529 437413265 879592372 927472093 612509568 604370826 726400190 943040478 116768436 271470727 469214448 757704847 968806215 655205721 199367746 172869664 684825057 112585014 197488631 371562189 252534492 895234603 700365811 595586884 958376853 355167863 331182571 924852952 565561988 429451957 806872702 402448777 348701150 481537245 385857973 593766009 372266060 784930398 411133351 671380227 764823674 350250106 805438644 327139689 966115480 341510033 876689240 192683676 161632320 775855577 775691252 988656536 656189016 363058213 255915562 242594197 242502160 321689481 986311653 273948362 246282331 995052435 444260661 651167194 840752308 908732880 407368839 666692845 409099394 532087488 204806327 214248285 336395587 677404015 771914004 184084339 339248776 751238675 918963079 508633237 464876590 952146433 454844579 217046579 830379376 170314031 771128742 939310387 420954958 627586397 633373021 912393946 770868086 459069631 752450329 746970961 422439219 236636683 446200235 550203505 583712033 574120573 729490791 148771554 647020825 815633825 780989574 294071818 646878930 166523421 845996011 993615766 733800784 873139234 919307586 311665373 160379255 559505642 642245895 482198019 604400638 745438292 975838850 443111744 248885365 141809618 312934335 777455987 756612487 438855211 455758460 746460598 674359016 743060180 568191202 231049223 685507258 479380285 894932683 156828591 492324167 529456457 160344103 787520498 609293764 927886288 857939548 971580801 132803781 997265979 694392050 642012464 855718062 374219213 158374605 545180618 116904854 844262884 390602530 779258993 424888696 383688667 581140409 866956994 796926097 411104192 171550135 817306631 230626211 425742769 249783453 714883148 566828199 891193308 456612860 822035567 960615158 456728848 498363995 367499621 871274847 932944468 965913183 917991306 781318496 364759716 609806117 415956699 213642333 746094609 128809848 728546145 844377430 156428887 802722003 933317094 376457206 556179225 894974315 762316158 314276154 706491797 325249090 244995269 914648050 726605931 309631180 527522113 449080928 751925029 666942614 621374996 119678169 130226803 170024345 133660380 363649469 507522028 431283503 571405693 400618008 720033153 890339847 183882516 105462348 608974089 563697814 717131752 776194944 144099193 391444366 652894698 579639156 176464088 331328576 417917419 717421531 532887011 586406499 355865129 727623804 649289903 360169518 385063341 978277507 708623113 498173903 582060843 476574178 320555033 266789470 362234062 354673353 109280611 152023675 662448326 180463635 634454788 551276144 868677598 177549437 206569800 527307460 312182981 354759396 257541866 470796570 246009534 670523048 107871022 634747642 699369219 724681745 267982017 859378209 383877174 908205620 299525037 236325220 141758092 560891528 261607259 621848893 628577547 170877287 972546442 227950461 405793748 147424024 870728448 548655955 517970186 104178187 136067541 634753337 454099606 586738638 780375513 808074954 469787972 170884389 269595086 164574818 555871963 916593976 712935146 381179282 912717771 756786835 303141427 150091425 536440734 356715031 618082709 798458746 835437461 224774707 912233993 134616267 476535381 272781968 839704379 371653804 173259640 687583031 560812332 259804053 396483225 880812008 548811761 727787086 568687326 637541847 898842688 390799209 854573741 953751971 593787737 494445581 457119494 439142651 502015564 144033282 781851989 158512605 783852829 501354586 854533607 947751440 952424913 293931574 929969503 494923433 983412321 324887763 360444111 451233091 207826249 684144863 338055093 917444490 892408003 245891866 181358436 610724983 544432128 461928185 622353660 482596343 934625563 456477503 442087227 246415335 500861875 869302476 266345216 606398083 619742321 343470470 353997301 685874075 965486282 902299886 575090677 147089305 653349653 921404860 732456559 184747263 320168673 882076310 502960062 323980644 171571042 802740724 725669894 426660474 887093643 250616959 245654061 515582307 728965855 706304509 983785843 792970287 330743970 349988711 188575635 322143239 538128340 944894528 553059894 275559702 969836450 132422653 381882863 253370285 928275878 224116277 141950951 100475930 176978844 159721430 214597780 805359331 427793216 936228200 888460399 217010283 452867039 739634450 625528472 412466012 475489225 249697617 692634361 745476700 586256334 248877311 262016825 734595190 754087119 562666703 608713935 146230219 887197321 803580440 398523549 621345984 998976015 291414065 625929773 345666932 688956155 806972574 334404748 448614701 403063540 129482491 129239582 216249440 263836915 360086995 807329008 721176808 291936403 188148764 304038869 511197326 518811221 310895299 196843765 276529827 702190265 978565844 564920096 121217666 807786252 182612114 738893419 943561414 970131231 589513145 960200738 962500597 612266928 102994164 223619247 224597226 827333648 623174653 567939515 967339478 175491286 588275363 196695217 442902392 216714264 595297783 170695020 484168115 781607572 639660637 900619184 125993062 843836915 388196877 981907690 982013602 426988608 555021744 706015756 192444281 302819713 597357469 608326452 861573428 823068151 218147208 559178042 674622050 643787369 510127525 345698831 691122735 937594277 214087278 536060388 694194980 275120502 456049239 695975979 411356289 330605640 520448082 937291238 375236199 505006583 787952178 914097941 536600501 317583223 793007023 928790134 338082161 535415070 631405123 364114350 707822918 495736398 548585245 451389490 678064121 195480940 322389332 326886637 696579610 561768429 637881872 443902571 304630380 902283052 875950180 477010906 590791086 159502552 583918485 428982942 245269620 969219428 538585797 115344030 397319359 635769813 508292057 991190760 202052395 323709520 532681839 328806382 699492833 316550170 342139835 975654607 141761062 476978689 339837680 300974034 655704466 744007089 254429224 178530447 682466981 686499413 532650576 542002537 467568692 973919376 516641547 390652024 171897136 767617038 759108901 151357098 632102110 136410614 453528023 354727760 646106079 949091850 347751626 968317678 903658886 879394630 991928619 972664363 560197910 489217600 753192668 838437924 554850275 425223156 172203834 717945426 217265472 829405880 604308842 204474157 394376334 806972073 187317970 296202495 774149566 898288800 731451393 653793471 198147916 522495454 274399719 178306348 321790974 753189000 823180668 117967457 653745454 190104748 543589853 969329095 748347632 104339766 329604701 203523667 453680678 939373903 521384653 624830064 269231474 444327262 929216338 282834025 675967570 496213087 351820604 703805330 208121982 271407703 103696536 807068226 287396652 354901783 809025376 565502249 783096489 986377754 860895523 528826565 428166938 223388278 287687922 715030496 935183463 907737017 188864375 702738504 350509685 774835446 700689771 376809311 945845994 163364516 958962164 775479421 973079401 981349657 468148626 544518548 858292651 480086359 626840188 804820107 879133467 397652755 436931855 132891213 637279140 400540639 599827088 306197426 280318926 826065834 430992682 836200594 673634076 722172814 937968309 438324772 734220174 322078681 559764015 389176411 217574153 866389601 431254430 271498205 213956791 287043828 280611621 788695296 270026874 702873450 109277722 444035991 794801447 468387835 926602847 956875567 986600722 332878633 533761639 400529732 337422438 858070008 290364860 645131998 848090979 942515976 427547587 484294552 748123696 193579522 661937494 721093671 726692753 997749638 142489654 499406767 445565011 544968601 737438784 400101197 194775830 436626262 554289504 497816486 799830206 518024106 786355428 949424106 784912714 937825667 640557375 507118632 653400449 835220889 438844434 362736620 842477995 155179263 896526453 241005957 523228033 114511020 565410633 897215289 297140560 694158705 835644726 299446650 771480256 484018319 111017684 348442536 412542435 213755876 210221334 838216747 640595905 855337100 381243116 230511080 543339760 949106477 396165301 893496554 817338656 838826373 192978792 537393901 944627308 115869294 592119229 708165914 314555784 243479336 628275238 370073652 177471769 925839302 670944941 905694722 270151221 551638588 636083201 205746132 287494993 104077713 758845391 118251767 664102482 268884628 591719655 488685915 924570215 250056052 249212210 149109090 109914808 383271820 136025759 402311746 900453378 216320357 360609110 683974601 623243434 576734584 596311632 760630441 798378358 758440550 887766700 987714659 788975247 158193908 524097850 323209667 871028465 681280744 776332329 190907051 209198400 165860014 207656709 620184579 704625647 696518882 895862969 499886885 382766293 881052217 344440362 826849201 698924386 620956927 409607610 637302503 228930290 197201703 571955036 284707725 649769430 377978459 229185438 627285008 283139610 478992479 528981942 271772875 595461079 885242605 479349702 973291257 386722444 596770437 128095053 818969330 500900453 993403662 119102468 760676031 867624236 182820614 978503921 644407369 594415879 366578251 181357537 155682041 856048879 314369154 320644143 602778766 994102272 829070493 403528926 197180993 913904663 256014475 300652522 379432431 599127799 126482279 408165744 711766967 136594574 946618101 506038244 450342814 846751293 924893447 298898942 198657144 681293514 153688261 963067542 881719892 386721561 543212180 539429758 210173723 456989851 976888273 187935892 547601672 227537838 784067141 167738311 138728296 896784305 264635834 736758464 264879074 609185796 390737739 833966025 363202317 901027654 845206693 218733781 698348455 896651352 336858796 385611807 976813421 201037807 798524316 197585809 760377763 637925341 267433648 889321398 889362711 184250811 260510857 711612983 972807640 517332285 603418165 828179510 551476008 650228260 560722974 656799129 415423564 124921709 922462064 272602372 144554748 281590868 356044353 317150103 518051160 651932589 864690239 719771498 842962133 514926045 984376085 297324845 420638208 224870897 209338606 742644089 626618331 189425592 238426005 492678537 208075836 689358558 415972669 786774441 100120939 201916877 608197968 801531536 719530740 313699032 735636347 392635763 278444778 587185853 557556953 771820429 617440435 405098600 816160305 376116795 917790840 876637721 681692583 584368231 109053935 323559280 908501859 328482478 466287742 242648301 112635345 440037564 518612785 952677992 988307687 282046656 914694881 169640499 532368538 169482368 562598121 414046802 589478591 836872472 956357976 260187628 919171128 394778524 804328985 301244724 463578147 685652845 355970823 971356371 565788216 226170041 394117953 190989002 241661558 652100871 937075554 107621618 417240644 794196386 411003733 217330212 245738810 206635713 635095557 481489832 752875336 558994495 393516364 211027253 223317095 665707976 337300347 110048830 670560772 889709024 713522771 273408549 821169967 607606544 558630603 203525651 702257652 536177292 996532172 669756535 409583854 706651145 794177012 455579240 115693143 506069992 132326971 182428582 511380477 495638029 983732658 629670412 669595869 786886342 498038843 282762166 795069532 886727684 268360951 630478297 379631445 947893929 761130009 121088998 289661063 210020338 280212647 151851673 924379024 107799156 528114408 794710545 333840577 456416189 405100715 242215529 369578436 769544334 496108595 812485887 593828987 523164696 754250108 664703710 832023304 628597045 652522169 558801026 468444273 690739925 943831851 345488398 324521375 985919826 694616574 708743860 275442460 708335374 636640411 733796900 622458446 992520898 230176184 899830581 614203866 709259728 145681708 799238944 857199204 679803439 704699013 118198869 347933020 456933278 532220990 123252327 265127289 198862350 231798491 615771900 672376036 361218417 788540911 157218770 566104261 419215356 129639186 197811932 173513264 969668944 324994983 914140405 387107320 295091312 490397535 835772451 261855370 992182026 500176592 564006450 202824647 143383184 215561439 151702196 704362343 736695639 731963341 356823825 724737699 979416667 803626593 962913998 772303346 661864906 719726273 186502044 258395219 173769168 237330636 464615159 687096180 492108199 863879226 498088632 167941708 352085553 375723201 930626807 909108817 493124565 533315628 180316642 174316670 510509147 754309214 921855725 202837088 658577096 263732006 590241070 758285012 117521603 926049873 232346430 597030252 977073600 719101178 547851970 952452396 245672329 753591734 525347211 594656019 301954032 914197489 884026969 727750784 142916935 906221260 180300129 496499110 890782480 939621878 192088969 101964492 597216645 102704524 390324186 266641454 464018561 139889292 823979955 292004327 705619133 238815581 342092260 292627471 466543048 519165747 717947208 237804885 918694708 674163762 380763184 914083364 845081066 433137972 455904271 620124476 189733153 807383911 149983873 315078834 710404297 522774200 491352583 473356313 976179729 538483286 608896651 307181250 261722341 673917097 953059687 369167230 331012936 259907087 973150491 631818296 758445347 855867204 226066982 168009708 504422782 531346494 588840244 326696887 940367049 738345465 366530085 314251396 600248351 651035342 187043968 574479579 170980682 465506124 599958792 301437945 170913165 602397302 725282229 291940357 790605008 921467113 384173860 863651904 821395673 703329204 254230333 855436635 136235114 989414383 693204344 718757251 107131260 392900794 593920307 274377783 753200203 371941691 797861569 347310883 423824866 956058246 699981447 181263137 937214036 138438863 748215057 530275623 990039079 634109502 857659346 244731808 682830590 579722364 835552976 176710765 438721642 712870275 154370230 977229101 773282928 679069639 329014428 602259747 574013731 110149774 978513615 154102070 853215101 131048478 231857606 258133784 275277530 682804744 323649886 542283847 632204512 434302328 975525718 800360121 343575987 778871034 669826300 562124594 175987467 842819305 470396194 621824230 932144439 153898230 284671599 221760250 918481745 806618382 908157533 176033217 565059560 570761289 317954356 659266335 162187567 237190211 179366920 105191266 299917761 476085425 746264930 405809973 517337667 167428968 111780507 267189492 946981763 941967943 512799767 233853017 134657338 418685161 408700634 663730867 547337144 979696607 692497243 826182807 642946599 474046332 787827104 533324963 337410440 672362039 324893349 593624635 965650463 196287019 268834831 281604660 374849346 514590666 489791911 324175494 908800639 375500334 233803965 758785963 717239772 491091786 932916128 657664106 990887003 905317098 745245603 487456801 309276835 877517333 628702374 874213259 865533301 971998663 184819045 602933145 415264719 556768620 289958595 518373184 291810557 717281256 746475014 906768172 729821225 397317316 843091153 837164003 969912888 839521153 282421804 487344606 152564016 252350034 835938492 255896813 459522060 633231997 102132451 868645189 844007877 224025607 799193669 733956772 975100818 922402236 389606387 268350643 490479764 447546945 276647109 171568857 475492247 759310744 286354279 159211366 971031789 440662080 763262153 570715174 363697069 818516664 628150020 901690089 447413557 319570755 510605552 749618873 967887047 966182938 598997251 290679140 744748907 307391703 473247684 615566431 913390620 624039390 332140618 416808651 537798104 866390647 584870830 786497525 726163299 836439694 288940312 647265326 353134474 637683806 546018693 471084649 829285922 173813164 891015770 557039662 221798498 821219827 259089036 693757441 653643324 196313743 350218289 527032841 563764659 466435155 778884392 923717382 524830291 321159445 146325505 523119511 713969897 860265678 313274509 364972451 986496447 547356138 878842845 469466356 868539338 299011348 701420587 597315239 473651737 243969589 933410878 155116303 513508560 859175639 635990089 426099842 975064612 438263358 415724143 703760909 599052673 500650299 169299911 178934050 265402140 406413137 164113313 448742628 665568677 705345621 663492187 483359018 900744538 847528906 513399374 235998119 910079466 326100918 758374689 856976196 880587193 143545108 560884948 117365014 246478171 612876119 242742040 949719440 590343432 609249707 990413945 265548828 501762126 400110765 678704603 192850145 163238471 750305521 818760400 160506864 175785882 824440265 590021976 928543824 471023943 617686839 808334401 883352081 510012892 543558427 904311950 144000852 369860879 889183513 205659683 881628324 604086763 920355959 913203210 677669906 496483505 253719722 721315893 866497205 985666418 754292461 912439446 120557846 153102617 430119672 722999581 166906261 886241665 457281350 493690889 684277462 203181177 749172528 252580415 341512901 523169244 404593936 227295073 980184840 660454865 705314892 703461014 494013517 988561514 892010157 168424753 337919609 471099042 397543421 627553168 588123305 653609761 570011289 384540031 939797460 362973487 526795654 626552455 437548670 439849775 777125415 242436436 603198308 633606297 422836343 270690616 939279709 621760349 477223900 510329137 255778243 663846120 351065738 751420977 856720957 946228745 259156807 812757775 280439242 130989081 743570757 528393584 499500161 941105661 910791779 421471166 122234877 219433415 503078240 316810288 356927286 353027519 104854020 256984229 766010901 394880952 193663943 207114251 852900044 587866061 100878430 510322223 314798294 414293309 275938309 966680373 285785414 437807812 708280878 730085398 433665856 812341718 919967256 523680068 896214678 509034450 307117075 577559181 733984625 783476723 244210361 310849067 983404710 154730489 473248667 740968761 429072420 904608302 142129077 983127732 686576981 297353734 412138973 850018359 673866681 802030484 328491262 554383497 509303534 560109690 732351510 538842484 743033920 547537915 559946508 465273335 431036713 322542781 647327215 405775761 625915094 809777470 800779809 249498283 353383632 349700175 595347737 207698400 790981464 357050344 849481906 333061075 812140737 609709012 561433300 876477905 174194632 721029689 957762280 444570565 676327981 126845172 834043822 105723518 385553670 509301052 952760833 575887302 995516540 727817315 392874384 753865148 834520984 525137367 361609780 630820211 232880504 116034461 174464686 692423539 689388543 606099393 588736732 182562418 267031592 396423960 498062631 740190573 681491954 123850014 343282103 688090507 574499506 270542020 337897609 314597893 969560404 766167341 944013496 503055950 486708611 449213687 927058177 258667498 390458014 235425589 637316147 320102545 614762147 389768633 606670887 396577386 288441926 694145217 860325401 345289019 711824143 269709120 828360848 134528039 640607137 292662381 533726970 749678914 327673118 466746185 123009164 405031930 202419052 351449512 547490770 674400265 970916384 217981302 699651374 967104850 773295264 647841167 516099027 275173624 755193871 128319986 665201375 781016351 129954358 441658621 899008873 163565131 618494210 708503953 737574595 462136519 539758539 191443577 704374375 257373896 957741459 844901309 800687247 856374361 708502955 547800423 176496129 891551988 691503476 130233698 301247635 238291710 313814615 755721117 967879772 394378542 735575063 253604593 858369551 251348234 413061680 379511899 514213937 463187310 208915316 174745795 600727272 875492447 875688812 144311938 378379199 265325716 213282955 731101385 159964838 699113948 864324493 949941477 149823880 718748160 440048879 833410816 457111306 591962759 621698187 201513389 885720653 967883638 188195651 837192147 243442949 289954379 214744400 384305690 912015479 801115851 296306696 828588653 768821271 547601528 365191296 422224111 836934239 208317417 375576504 393849826 983937393 479937196 499038053 475215496 223919074 282136986 771469022 999796384 543787624 609857195 462215349 965514649 302781780 999286508 465859433 912023912 632230000 193645798 288514083 495618735 858358539 994290829 371723802 955086971 643647288 597805695 485028857 878294549 930830313 661021647 978287276 670987764 443046149 668502162 318402185 160817871 580998500 665782770 601539082 197433169 420936003 444987845 789292263 846596367 464762766 999936685 589295387 230026346 458458856 467280391 958945654 904738300 441751147 763770722 158703079 655830275 963260326 123700383 959022970 877508463 403436732 895275796 725170831 435556510 592765436 103845225 904833665 783212294 610811451 252436000 965452697 722552974 430087600 485418864 919543864 273451121 887093880 671010212 278376062 878512360 744959225 886654674 550210637 939812331 889191152 746970432 395922324 462807014 189132617 823111340 383700144 562686461 753414215 432726732 561288574 157605430 669962477 366275339 485184131 841089503 404619150 996276107 868424876 968213685 285768039 667841313 730042393 204346460 295280102 235436963 170058876 201363410 248155843 971164429 234112527 115421268 389700454 784816090 746800986 830765430 271149391 429465218 992872504 964792896 239465883 841641372 299951558 297218793 580546709 138529526 138581380 820903123 645818374 433036403 911677778 644286168 559982571 338596350 154857892 144506976 837900970 559510657 926818645 889818332 700912482 904810760 329526839 134729687 470716392 553288185 265161041 308914367 748657362 548138278 335988974 801851276 361279654 917092636 835921118 652328581 556670981 245470029 568412984 818887521 636494819 443883981 178344645 316244478 959343741 738534451 968078010 154453688 822648149 373171368 977751565 239710118 628309080 600796167 968289120 407337336 242582541 552200391 552499363 642147009 549586389 768143336 116726593 859782591 537913128 760294218 497067328 969217155 923047485 246683242 225714599 855540323 912484030 648068842 781165806 817043548 218419408 140875909 354736058 933637048 628599048 904812309 583991567 189549978 514446728 936803002 366716942 516928042 341191038 183616466 389145859 387309831 295804448 735331442 498882930 425446620 318206008 654579552 932755494 237625291 565416925 766039382 438891067 885574006 425356622 423787607 958430589 482778053 323080010 620899872 271798631 774896435 942980631 855819067 644235936 506857303 912089027 730857523 827552604 644502869 398085811 829361099 860890701 728044562 346331108 605543063 655858535 783404110 893290880 978762989 625270367 403909873 967394432 518794149 214596205 794545770 753549577 727198753 144558680 401789915 819670940 469367527 701241018 909732849 392847624 495464119 990707306 513800624 904084965 145209535 704074724 529094951 190038977 533366454 194072105 393712161 735365925 786410947 405543055 260126564 520901193 259157774 104092419 940262148 943637711 960974464 867902801 103050185 805308010 717116463 788550560 105337554 268628116 997888994 974980126 596096003 294289432 296664303 637318646 808030305 673752178 619933930 176151165 923576580 320798880 330335831 566656545 285502756 842566825 321533279 747454073 752578690 739084609 751915245 192246246 357416528 598447810 871490515 306083419 129223173 931817324 453168806 691994922 155108339 113316641 170199152 895752803 200886832 222790625 652208720 455155017 438341813 346994720 771051379 594946036 405673704 581180793 945466524 717337258 367441564 184160105 518281492 375114702 888728877 837806203 891113174 922533054 338989288 210090082 318897820 704900509 583972303 641690294 290223272 425141419 851740478 777837682 382710394 759393728 176476611 155503786 702352145 664353541 162316767 308429594 346538902 886791175 979992607 788076114 307289124 525691975 130105468 605350502 229318396 874033829 258786665 730399296 753341807 209015186 930603215 972295972 428860041 737376812 655612455 266050327 774965557 850258859 664875325 464960303 265896970 141587840 476537060 184249353 846835950 728612929 597172064 856224964 258576456 226708995 489760634 277593332 778412359 939034584 427372211 610589787 256345511 131428673 685850699 997250599 770114357 155937708 214837370 180584827 859075096 395030438 610954552 685461647 324877571 189237588 420445381 141108427 968400551 601497298 675997111 924460861 750726664 138587424 415007565 990784945 950448647 831769667 846394108 861066704 693875333 380114072 207563035 630374409 398670426 351958191 108675845 470070967 101692736 908633203 476013923 877972679 848785843 472077146 394590458 163192277 223990506 453881761 783808197 860658767 554108097 781755296 632993121 107981889 211491914 833461233 328157957 861800599 709763546 763984485 690463068 677486660 591166137 744496188 975006024 918563317 190281737 272927232 617818417 349591291 828264145 709361748 363081651 640567812 236068209 857195389 368386648 330680010 420890608 214714276 817564353 617977003 515727442 796546009 670043862 697869746 319095716 606474149 664659006 991437451 764070754 562167479 631674008 238716829 611344280 617224725 104501215 327339658 290302091 737757418 297692727 560740058 788465783 347866321 326484705 991082440 958871518 537886860 647200624 453369317 478728967 585525776 578686428 314355088 517985269 944795176 289126969 903700927 568019392 859823594 983446264 911670457 385494709 429281764 651398337 891164140 475977687 360065704 237386681 648343087 974319854 395644287 691809504 961476378 161222258 771370012 462117835 261166096 924158224 430646486 962811892 877018715 649166825 562332737 409188256 927900061 458121080 873059067 476492947 753259118 625565548 788856842 895187761 582466258 595315093 770436929 581337385 486985108 851412158 353781104 820440947 518177111 495748968 160378935 195608418 384770787 426401985 189110806 745817474 318114077 430000298 287601155 282584030 926488450 354582459 554423397 598850653 788957368 163341909 130179294 906473640 771087176 466664854 966066250 453422238 895790541 839130120 250864852 848313399 197707047 741255384 438876096 903850423 314274451 588051767 899114027 682914731 315241167 267987980 167966918 234300775 311276976 840477906 246837983 163635028 547364553 793038471 635758955 141764784 267852332 210982564 367778429 376564549 690885689 366617323 189603629 207965776 655008516 622458925 632714539 844448513 423417837 831241800 338046718 966593098 849136418 720240394 174086442 535624801 540849565 143597121 713307923 434159424 982567938 610430818 255388352 115790152 305572248 773193441 186434311 980030125 561581448 596113484 401848875 546489704 652616401 134796035 393264738 828623962 623460433 248675038 579524873 655655059 381949816 942934838 183829836 719788079 540585833 524712051 798908858 753063754 694658552 590405463 561965062 642334111 945723470 407751801 131101486 287096227 683633570 126203284 961931911 290942960 538438165 138182246 269533495 746541040 418032120 711972227 770566354 140745869 277119117 248373507 226768512 902721360 342506866 597619542 463459843 779751345 706832133 180668485 990707210 874360088 487500276 755132059 953743200 168611408 123975088 557443147 596519645 983713695 765532048 837179589 273741085 789983800 983716285 543938117 509642772 467796073 318556124 164106747 644020195 881887007 849712169 863523967 313865869 110889423 583826324 319228844 831071093 772171009 832417812 547333343 387253662 876535367 140869962 682865297 138763016 760551224 123928024 791074456 812833631 424508408 470953801 692391987 921005257 647099056 682696058 956712911 177172904 406511981 836686177 772741079 395068429 894723935 465974900 608935372 572482157 282761015 883614755 863733453 643215414 587687264 680759335 666776254 690618057 769337604 213359695 950976367 137704987 625257443 485576477 560194016 249812667 194216428 147562616 908348816 325398006 458666475 191483686 682115731 799485153 686540371 285694199 746165113 512401039 127531692 155750556 799048420 178744266 219404995 774431674 610001857 543523320 153493713 442994610 416534790 381169524 179812215 471535398 325371659 194096557 429868075 208133424 120289322 345372350 641428835 305590439 811573424 526715588 698656389 547538651 269510929 518265674 212961049 974308144 593983811 979628807 378251239 507024685 132285638 216401698 559137488 865222931 461748485 678916414 206393122 229289995 619372621 306971202 269167596 173354432 650591754 149726304 807778877 891559850 569434055 788601792 794249369 351576683 806843429 327092186 577400368 531650354 770286787 681759551 185257106 397302807 837459257 663934406 451152386 350178508 477931537 606435434 432378294 393374277 903514145 348967572 433753602 579981633 417234861 407497868 587975552 386714634 463047633 767837929 611560926 849951453 755034455 377851679 716715529 736953779 504639094 750914576 695130161 292361014 890240285 484075598 812166912 363373355 319755165 237072992 322656099 547077978 317045043 154017665 470961034 185403356 219192207 657314883 595411553 113544304 313203327 718478186 191036021 677555224 207485767 388341520 563276065 225149813 256767108 379700940 822554853 912266722 756431815 764600069 962341413 754062415 438506596 869764008 721727846 952730740 935683540 357411198 505685163 811381828 379738810 409142656 589732493 309739508 643802064 725443469 292545905 809437874 554691581 401470764 787894195 161678581 815721606 350702774 153137747 125741546 959099941 803345483 177349281 142109048 533285300 892319861 745168542 333731060 666048301 889421838 764161523 976795488 955844752 283616813 712033168 303012748 115184833 502695322 761360043 521591391 328933706 476673358 555078343 747113789 152991159 797930433 890755508 790949795 670776725 816158867 465865497 963931638 888209384 126614094 991334883 658139825 680171839 330394869 783470270 484603289 176978224 261254463 902512922 891601812 769194125 136494894 271770193 146564073 208690862 629967442 644849376 138135821 777422209 479311838 288039014 979998663 542406140 734723820 717231199 252413665 834459502 455728107 573487315 199924714 277090976 582700791 235938109 543374484 795676543 931620273 688909265 384293572 642611341 287899308 958174961 482305543 911111665 490590385 202922695 971137392 605209087 650294722 811881580 709374663 194896735 739226840 386884822 773298224 593564102 984054060 953800321 823849110 566135828 211584413 453906920 176143359 883448767 830848354 705553545 777514073 988691294 917283663 946736990 770682393 937224930 242047765 470505649 794762851 743475792 343013150 691021787 422890804 422205558 638375905 514112638 970914631 458104598 390671357 575800570 198937450 670272501 874358482 286473363 215148687 991020347 246662034 461673959 266193191 325435386 335670283 781375388 500656367 123616260 577790265 856889535 610629951 526498034 782066368 671445850 503415520 187039545 457368546 365717194 324657965 374648778 496729767 947493977 680221974 972318695 736905725 274070566 210971168 492430486 661501296 448330408 379681693 577482935 215790665 328698602 413010826 742081309 437806907 367939596 531083893 739824039 619982115 876106189 180531677 331987978 322548023 669950577 891716862 450728339 205839513 252407476 538518656 239830227 867101956 343156129 455883539 389262418 203038562 947199712 636217712 989377091 217162761 977725982 883591740 262279131 724916690 712513238 522020268 280287234 296493842 752371559 741041308 121298474 623571967 475325959 182227669 185443928 433255661 244781361 452114604 331065397 658438956 217133199 493220723 201757553 924271053 987637456 144129760 106779619 807294195 985351368 382243455 757797770 624092346 934805233 797378418 737994091 710402365 481539539 206591769 870324039 182627132 938173720 827605023 414896242 568259575 200734421 769301487 216168758 684437867 835549657 313073228 546152817 660392860 651856733 974668711 678368451 604931224 116799663 683985507 365802953 600235367 630407965 638887618 374362032 903656502 405452056 500074442 470485789 346340577 645497519 583952740 682556845 735326773 744385517 195771487 490745984 698751118 438570630 855678680 804130057 746598256 966154346 517723465 654025280 386889942 342240769 416914281 226765253 442208843 671357553 123493414 576013116 251577689 330348398 100142357 776837300 816850765 627521285 507680287 763022167 723405137 753016204 296586132 306874616 987575778 758021945 998404329 223280069 247569006 418813318 822897815 568524548 631127798 634622585 160124324 614172343 142174993 236726929 951934284 903002747 685582788 836537806 125098969 563583161 543292241 273719027 363399394 626803714 689569342 696688174 276515609 938944266 834133340 178327702 103934364 830370790 736679276 222342352 196814113 150808011 824885455 857479296 289173572 280976833 789724789 662913418 381388405 188515833 907686429 990154317 811889152 429716109 752500042 170821166 197797693 274329224 231184419 106781258 714100285 279876851 580666438 767068159 704965811 786775603 838579497 561140397 932414566 957760772 443215511 240441815 106464428 853893204 953398549 187850874 342657038 852479792 157305368 323988428 198633020 936581709 280308236 685642382 462600286 103580799 602552723 454186752 715340163 422280566 266712894 263299236 490103486 525160352 362236240 194772473 243390698 175359749 135979268 959107629 861740391 470932579 819669546 674034242 220421328 967254273 965853558 786850409 491471031 828840171 189030139 159041419 296799030 354837759 829048414 960733667 976715271 510235719 962306123 325717095 359170839 795485316 988038470 769343817 822896985 268665395 842729265 397341024 763673947 316545012 102584621 540505153 436155498 295861285 435619528 443114105 735654811 951108253 295350855 400508789 434200207 528018131 190871072 440623752 268393621 797101074 525925157 284708524 958322392 279415159 112717124 223733254 368453365 815094829 162323284 726161865 632233674 833604728 664708152 116702605 740514891 211244490 669087113 698716342 332525887 691153348 650938540 937182652 680318410 612034292 577550538 957520043 722746325 971904868 311970490 570469424 937982568 254586305 437901688 590586299 889749751 365369244 993382520 690072258 996582992 514005035 241201306 203335417 895262042 597692037 901176455 174400793 637600644 177618036 419671069 927810669 367743222 855771105 829466892 782335696 633116615 728196726 393308284 562889554 250194662 384226211 764793153 845374921 734030620 935979406 718613835 598837491 447594273 231842722 637629489 789265657 749567063 935099398 389082471 458082498 858537864 844211958 345170373 896848024 416815952 876652076 135033637 445991258 554374071 633024636 540116361 205194597 681229601 141492427 673158168 698391398 102500800 696707809 931480303 939100447 344792575 657900708 953431100 113052904 461587081 174381099 696168518 720981024 300274926 255256699 358726585 680367387 184369033 246991505 270509179 706705665 967054664 641067794 847147164 452145598 553806503 774858611 886366843 150393204 745439589 804905564 424500989 740554372 244356192 245776170 706787609 128714341 800667978 866165549 456621207 587847128 539961689 804483708 957435152 439549909 734605645 143260276 519674382 338567538 954241740 685792230 320561228 652345079 483959565 141611530 374968340 216719164 679194550 449396956 129879107 582492310 872181473 962588685 448053862 472010473 794935420 941593530 443220986 602860411 862566635 738590963 403214404 248865502 647624489 173112394 425499640 864131144 457573846 959368489 305803876 488529163 158602939 946828675 729835783 756211505 861504038 286869773 824943853 413928306 774970912 491234646 555292475 450761822 204412452 304251035 761585230 416956744 745958868 663933164 999832970 905578151 483406246 388403660 197074827 449895948 997020216 117237943 147020796 155599443 456154946 704361099 364341149 783179459 163433556 899001915 948426872 478787853 940809409 657085105 306139803 122250395 813556149 568648644 697246261 378275285 789963343 329315788 586517602 773360815 921892961 700192280 960194137 960017606 841046065 138429857 723721360 250236578 367489319 924059332 365516621 612713657 175524158 299705141 723198134 734663797 415577973 282351756 196179055 197980560 535753013 249991817 546294377 240336034 300483820 430480998 102145592 438336860 344620978 639668678 947978925 562417809 853821526 261847056 433517427 643281575 124920638 225229490 352524891 770604970 448361875 373243673 609913222 279650507 741191149 515644734 938780845 539128141 665125919 194427748 844868763 170328870 524424894 353413620 499160038 731790004 692819905 682966308 100926124 680428826 929080719 820537369 453717581 301843279 152089133 560449010 429990205 844266359 540356611 422133235 785222702 752331167 887408144 703899986 806176087 697981531 253091685 332438681 657568217 511691834 968364278 228342238 642900035 226314541 180594300 163657526 285370337 273934747 222462552 264532881 266890214 718982168 492302277 550616408 304568582 327788889 755735145 216669649 807641852 379591364 977730653 872846738 265902950 284972057 733583082 706043168 376373314 711928629 173219571 385826598 237931070 878656087 702471238 735080905 650190635 683899063 350794496 684378169 235459963 347957759 204146684 137800388 819116785 850838051 555396297 596143363 505144213 883682364 853185953 861532436 999205475 137067957 403589491 476880988 686879698 351132481 110989842 783261282 203388489 865984783 817340610 765873156 697715892 513679319 361057716 105370290 973382104 501570841 810226566 978720741 796228825 981916129 839715972 500336212 619832929 301002222 883696535 649740128 561202944 816530739 240651378 484992880 483844268 713760753 981813816 282069157 685857469 774237880 447351887 423322461 620267895 886208622 493500003 263259936 242299059 316788881 359998640 539775562 975113432 320975603 322368415 979076466 441564996 458637072 273422675 121320734 906540133 944313473 832241497 112045958 954185900 748661334 495045353 676329106 492258368 397816778 406147671 199843825 554937622 496727630 125467968 171633852 112540033 658440534 906079931 568855909 570329567 123392002 566623945 951048281 587099424 347405321 401912134 548465225 897836566 672717545 810571509 160789717 305587070 930717800 550043723 848034586 135132453 152414263 186738546 600163675 825706447 315012789 357417047 243120253 588182051 108799919 896137224 367722620 423863525 337138463 565213766 859167887 743247479 572872695 696686999 537355509 902826358 615036622 678956816 819384212 538790736 787648792 483234300 876031281 872881338 789084224 481380119 556204156 264813462 807888357 496670353 302827758 511511711 276558034 826021286 346955719 611476636 165763695 985522333 671499154 833532485 681331503 383532745 123452230 860758341 200925184 984266160 526513268 305279573 209582742 564700438 756393121 213700186 945143889 378609868 352894542 224139777 491637559 637487296 245850898 704792853 962463477 370089423 935678185 963547720 668181428 885774323 475088846 206133951 952838219 543276146 338420354 124894605 173870504 190962301 741754918 998199155 576330542 887972891 746837962 965497565 596678959 688889743 113514241 226338315 278447827 358618583 871476043 680982314 443779170 230425840 860138964 643665280 188618504 589197001 304001471 256772160 282109957 759035453 732058049 672505777 991613870 299505696 675222857 903943934 491983893 824534662 722914382 178936311 985602383 363607836 672582394 935796849 993104391 292255055 316222252 923967012 187162322 152207559 558761775 841516006 452826216 304065100 612663532 704041577 482989094 631094436 417971597 221739064 842210540 404922461 659226551 281781213 226983389 583905123 235666042 384837930 565587391 441982622 624864107 590398171 187139817 123872002 168421089 649429119 442739997 351140231 476581794 896891617 156414327 302863269 492619053 960133323 684881637 185423252 751608045 338141261 629944592 699715958 908880604 709516056 456448666 933666407 616355176 348184708 953384123 228363475 877368333 591014434 588173558 247230000 510011784 417314384 405212335 164104434 567837078 942998791 429254614 302134575 520980533 622082257 337816623 339960183 705690847 172774378 597895546 119482246 661804583 321581221 594886860 371432580 444518003 817972216 741304027 683933613 269840141 604834647 313696032 378409897 361856674 628642453 363531573 327247592 248542418 292251212 754642729 612654212 226470077 713381311 645173507 183003475 752561965 718160664 762500556 340268440 785458011 519741402 108251235 943413222 563016995 965268903 400170799 630815029 414002572 155492767 338174467 674410266 838607999 890967448 936375084 338460780 374971308 139789729 338292134 474035450 627677384 772665322 251092672 930728351 168028833 569610725 489394217 889794763 201466992 868064948 804600813 606990220 237046223 427146489 222247176 348932680 353088672 964999685 524261604 652292326 531472328 487469837 894353966 420659839 616102487 325939422 687432865 102570066 381548828 195178635 186630718 329642885 127436302 977444042 906275622 666970784 607370991 898760336 385855978 871371902 403467926 767479181 335375558 911962305 107348685 616152466 450355083 973527389 872099781 371087550 392027185 273144531 827949875 348442869 999639485 340587585 359195657 419336216 879275080 357136532 201635631 500058511 545190168 280609526 904283666 767888807 733935919 304982324 909557333 708491083 835733744 406202297 755691665 435476527 757221194 247151226 612155219 571278751 628287098 535745644 226110431 151580681 811025738 464647025 420529655 693971495 351385100 118970025 654366040 799508748 350599226 523997703 699296869 510645206 886892804 465001846 273924269 638888971 412964078 646615996 999412922 117746348 479500625 317847038 157647044 207516977 685333714 459822268 602914311 922100985 536635967 292296288 225428141 984677997 373066142 999304295 855772945 881853458 639157743 550526088 973659004 485798659 726009066 695711076 729359885 594626979 613600492 868433604 327900607 295221949 395654085 815682519 160116769 165972737 496417151 790530978 303379542 392587408 722810865 907587418 649294066 966611911 777750911 175618160 516415569 608049174 911075262 390595412 531223038 696833095 933474977 774976577 516804438 371330978 460234456 124391302 354141220 599931974 861747031 933003738 827179954 464060417 699911871 598983123 650872176 845279103 520473600 772189378 776001691 307708174 311291525 257896517 678779862 242406703 600061105 761870255 959714864 777923586 774669071 163239684 882614724 924032032 138263633 494502872 746696885 987452357 731494874 929827015 357616119 999310272 538391233 284338782 549396903 501540766 673321292 610102762 833791292 475154606 284447401 610994547 620820010 499772150 545216465 372555240 660061024 213290354 257098915 252692488 215137016 675349511 240101559 653883010 966230865 479516097 631925530 201118667 433791409 519474493 740352814 982182238 792790679 518490296 998931255 879689363 588298889 471521248 558188218 143639690 598975848 343966924 188173412 425828547 821313980 924242632 106543876 597877049 194956416 768703035 695768686 488939127 140842763 713753425 955989007 796434230 460860600 254632840 767091333 658450819 847392417 393620888 477088045 644139617 460193500 929885395 495600775 294262050 390474408 428089943 676186236 122698000 803745328 701056626 804994669 263766396 105535706 932489649 855049145 981398282 649373690 652966833 824709160 530061868 950313876 312625275 979248156 674281124 662122707 789217788 469800585 216667979 397394502 363300255 832617276 218400296 420745108 697849219 265974979 241774634 836569071 391291051 329078587 789548712 115193506 475826352 481054640 841455588 616706788 645105759 702099493 488396209 159329425 819444164 863780500 562084325 585921627 399695660 320471085 883217741 477112893 868259905 351321848 521802673 646805170 391746796 232496178 484767015 297511794 580169531 484221258 261236862 234675665 334216679 359680231 513210040 480438603 257392095 510726010 471200475 690524797 159722598 401779480 800751477 664563405 733318926 399606773 334345759 478275771 786899298 423578376 305315752 387705184 835818412 991408865 257844325 337284487 214709458 311407538 422408376 437045383 187972822 896900412 799100781 748745947 977760896 532798350 302993846 176490719 269104233 775061524 805473154 159886034 245283233 832452866 487722893 938896573 938574838 218861777 291436548 295732530 731464812 843767916 725310215 913002122 862595064 633021730 928520113 297738161 671939400 566567882 326461706 171978474 603940261 455189586 422729543 380812219 808733497 409014343 728806336 276295005 573012944 831971501 861795281 307754707 665782559 144772435 299050930 760797777 179804360 293558887 732926761 939798255 201463381 996245575 504919827 601729322 291249774 747453074 384217805 205535047 601976861 122876439 544991192 140478529 476715035 766230497 847215385 859065392 193542341 321794180 293329778 274538623 144738652 881362750 188582346 489738325 710118016 999526876 851180039 823162008 516859103 203545231 775847276 876407943 537624758 873609965 182931999 565215664 960579873 990644288 570915337 927674164 858567929 189076287 900650874 302346164 110025117 423351511 629820665 720425971 870417337 503122011 951874313 194781310 343911035 376272644 635391940 762519566 468634253 704759455 243624329 721630284 224150223 181879268 110111885 748006411 579350481 415162835 787883422 381055825 508573214 155491777 357453051 836258927 155850561 985296669 810166975 679425803 232653301 159416724 701801117 366901325 537480338 900145957 980253195 164109528 908344576 764423883 690849952 154103732 848601950 727625633 498692954 751647454 387446188 510537400 278950546 258706713 501393785 542146476 288544284 186555025 904751489 175081586 565812337 853494316 154126207 523175123 552919294 332922202 478697102 829752811 149704990 349681211 437558741 135037102 570673614 294277755 583390179 853138967 393187949 404693725 254969458 809479546 525527852 920842557 872627524 283267359 596248516 865037921 370041634 144053601 560478739 300144723 574878696 483536536 679459596 450161624 950412260 757936607 924926261 377821831 761745776 956535750 814245530 363478517 953288944 702131196 653491837 164149862 990220948 281540111 206574313 275996608 483432606 107900437 775752980 770424441 418554936 690026850 331662910 971196388 609264646 878286389 599676140 593970283 443020472 792884749 992176321 946047481 922327999 715711358 433415591 572275666 183856575 825335907 133616640 605012347 313263327 145640283 297311008 493430016 474865737 968087399 202558422 336766211 480229776 886266199 238434537 633305397 761255912 409306951 786874443 398083303 367790269 204038934 104281691 435886404 779936206 829469483 987409369 307592874 345811435 656505164 363152961 228467762 704349662 196132526 674141008 962764954 392892666 940970051 946660148 627481736 293593910 780777841 965871820 878666943 772818346 793286953 881080976 193202914 149301358 523215900 324895300 111506730 492563612 456066513 769576757 301480732 553202934 825566373 793236819 747972773 206431315 420921823 500105846 309031608 931209058 549881128 963869750 371535178 879088879 394463651 853113927 508304278 735959627 753284725 239440869 950242113 287030427 718552189 792652111 739909305 775679942 782638104 697096855 150508596 288509716 327792056 102283434 128512382 691154474 109296335 819078890 204963715 860120155 933744485 986980534 184038796 526830025 505763267 297340757 136321276 359537488 272767940 618353773 598887132 633071946 884249860 296815696 213111473 975371616 354211707 417148737 497847803 649082903 496328655 843424357 399381208 495824534 180653775 383769231 249892121 760169715 952805162 136276229 278630077 911158639 427872255 582464339 648272453 241261083 395572498 310166252 944235006 881145117 703026198 116424789 574766132 832967053 382892936 362468195 338332904 671882863 945041155 431545935 818948839 254772091 793040485 828763832 191933763 991201433 481567856 107990653 241885617 535124357 632706400 579122983 450655889 101203548 292846506 133440128 230266498 186453087 587620864 272999473 929471849 690087916 686697346 722801801 229350184 218118055 652379930 755028286 672692794 178875510 615719726 692956281 537894204 673160009 285760105 528784880 811050100 146992187 483182898 906714396 371465513 998810893 785294511 408068765 688703497 532638601 679006055 177666177 819572438 800245878 301037124 188630752 909285572 910838795 955557354 865362624 801532063 424721184 658317810 353801524 142800092 438470682 830135400 695229759 418551261 112060982 285785870 295400757 500742428 974973349 253932219 879673719 300700203 636450818 943680942 573045591 423482863 140126567 323504948 843155095 844022985 916687716 405235937 361417405 396154193 566012955 796032771 917776257 527933533 177958733 380347291 219120004 846567669 324815914 746203865 906777791 623112667 479051617 434012951 526687324 794325937 188638580 188556605 576451476 236007262 144354305 153095009 691041739 981028290 844982084 250637497 241093031 169933936 289311373 646659192 520845392 953635465 181007547 729539949 924863723 736767090 582192082 124030575 461891821 876334123 127968156 842599813 896627496 705448983 606034228 815415860 517272435 650909847 782266050 262970753 656428478 392307983 403952187 264205491 888194781 986932110 359297712 523468495 820273630 694017041 975448631 150900209 258008446 620122776 604196620 401240210 975129183 544272391 150088856 632908660 522210413 605661847 672099677 604597854 958250659 889964419 251444148 601546534 236364080 911113237 900521671 793633215 800513376 454247584 102422395 629493241 985430015 727615104 805814023 695211569 379421835 188571472 461784555 780090223 351824759 766180549 786434655 540974470 231502890 979223137 877268932 234514971 762066713 757403811 925370325 317853034 319317304 855610252 753430026 873180921 432773334 972714699 817177084 295067863 292047578 306223855 432711219 306610757 202946848 535631918 389471711 552794834 578988489 117834012 859939973 342809804 629576578 477689064 188054748 659329309 475155956 161887695 686978614 698552781 976909257 894054428 203761545 889121310 376415809 480614683 794553973 498871749 495943016 245542441 643871512 541611514 543605837 780088625 537045097 238032656 305944961 703646251 150609294 669818639 501146204 532771377 971184353 945240077 143902881 799606253 646682721 369889313 908801563 634394420 317457086 456542738 326384445 500088748 433276584 885029673 941237998 787437142 246009514 185835140 171008623 262801802 710731096 888880717 146180380 165394973 205749314 728525468 802553454 685183797 772991368 285699578 529010019 281195127 888952348 775461707 261257032 399286469 147903260 367450503 305891836 647380005 664332399 179781718 583880124 686685213 170075182 236074481 263654442 718043792 416397885 818645975 867499048 350337239 108458349 793633681 678128855 517940100 728170186 393399293 316721405 349417485 113322653 870694504 157409256 588281603 866688028 730645128 109429431 307587253 623619689 250998909 670104587 999317150 304840885 582689670 355199582 211671493 321586384 375840475 720915746 136599318 655334908 695752610 697282870 417003280 277537015 365505378 465150113 847504015 295700741 612293957 365090972 638006456 138746283 956197356 273310732 964309143 459143187 705179686 336535157 565887418 747534252 779891808 400464031 662321527 157976316 941855863 440171399 574531230 939102009 748829257 258203652 497054703 237805655 243358107 463864469 883215961 746015047 444606955 838555665 301256294 835703422 628206646 486172955 825739729 228062951 134265894 893278688 752980917 689395856 773672553 969804593 118346625 972289651 567366277 911292095 327238381 495190575 925374997 627262960 554202512 791217395 164803869 781662483 236876656 198416466 450033590 507740709 383390034 157069772 614102224 494419743 124751838 388169656 433475166 352520918 699883706 229010627 360000476 933860011 783076121 699864626 673695758 237341250 586464705 145905894 112283116 866683989 725619350 383865290 147194474 707518251 553685472 549490805 359743502 210218215 165591951 427017590 373189074 966603863 879320228 261845898 740200434 747544278 164642737 333784136 313373720 301009827 319623271 220325109 710360223 111437520 984099378 279414890 494167213 300169468 432248036 168226940 824034226 956268203 838754376 934067204 837438416 885095220 912649787 878883654 806750429 602358989 528670007 792064058 334151392 296637823 926563768 574561901 772389155 849621060 786335876 466754235 577839442 270999430 303196525 844582431 602088814 596314513 780571286 380624107 700737100 188740962 764965977 532593149 696549035 700688388 382041882 784659155 868138065 972552634 785369875 561026556 415786480 590855204 761143037 875020090 400674041 156781505 875101191 626566262 407388031 817961108 889846696 280234926 903865613 202038966 993094828 904385299 831879721 221907220 648864706 282565893 541644701 696200745 681808725 990451986 890562534 773007128 356660042 732579636 853824114 742896301 294042963 293998743 838721544 580070005 366658810 431703457 199391422 490866449 932964352 808623925 215370936 670656322 153822909 411616983 775392252 887577562 939367379 331260195 413329767 910113008 273412342 353818560 238978895 981566083 290944428 175554660 785113181 659996508 784712924 339910338 718245021 191493692 683838928 702774176 242005144 676472400 435422956 492187155 660722043 730907995 321907631 289394165 411330115 856134578 277010696 862077785 145902229 443575750 318324324 614417750 810869100 304186478 324499587 353232684 785572636 414145224 322707031 340271940 554428825 416215314 618639251 400008688 855900219 385465145 699103713 683569100 127162463 965744851 602671994 969815824 814323272 770280532 679817717 598328122 592466825 701141306 433446892 312776332 602649678 133499519 787124987 493610819 687982722 793281943 912570747 798321750 815029544 484503582 708085237 806533725 911260560 370943385 493457519 434437915 796003909 442597967 607387197 351517978 537591813 899903371 733764357 720020033 437824694 596478694 441620410 948453143 934791084 547228662 401204755 358399117 733562578 257511560 570283868 681759095 498501108 338395458 307808078 550205361 686175290 931029820 416653291 519243832 111686696 664782999 427212404 704842856 995040260 692382442 195051211 269097194 105049928 880640381 415504703 377250757 567829884 109282214 706766218 866565543 878184367 445234041 111350882 276436739 944175934 801148954 929052231 792686739 995663138 398431820 260411611 473037537 314302412 430322303 698628424 421180559 167801483 389266648 817411192 218465542 673185967 778609590 790094850 468288031 220771587 972334586 411764923 356056187 729998821 338346935 310421149 683817843 159430877 712725800 704985867 874248508 190031644 854261780 583180493 849375096 169149980 779408790 799598465 556179733 992851512 706002046 683266198 895996655 612606806 860965589 969011416 128331574 442920136 972635613 493817169 101409414 460621507 379634889 189033833 678677018 493864142 862195383 992154863 288420057 468985353 971542596 127567657 920831908 607229899 548899155 207364715 958618730 228535594 983032602 254608893 701547192 560333924 421754173 562759008 498928565 402662917 111496753 135048596 367482053 485780578 195860577 192850850 127226199 567858774 499628874 292895250 720691399 728902836 297889724 634180686 941363035 538637895 410199752 968476400 690334395 552095319 240264366 503507635 365775071 617534747 684519056 599548371 637994748 976646477 812649392 418970952 301697760 598427669 344631818 539940571 734788068 337159205 270123189 426403265 329307467 729863016 393191442 863063379 632474459 222122669 277759817 362617712 855962175 123894207 935800490 759644277 269008716 534904336 509299886 708710463 355032887 321791338 559136830 403387333 254406442 286862812 550644230 680171939 799635839 384383053 148713145 341825458 615663891 599113017 973928529 319623522 701685922 922117055 966623326 106829024 872400149 805838997 386748229 652358585 440645670 162547248 958573982 192234997 278244470 940146731 550676062 724517739 206440122 505634935 212356505 922475320 928453222 977067907 804995686 217127407 946071537 702079202 474342573 872588134 464750114 538678233 686285595 359429055 937746171 354664771 985639074 733499588 744125123 886905993 981400814 406244532 778847626 196592902 159610937 881524569 282249658 275001732 181511911 452450353 474140177 769093116 104016202 368016528 406977784 931115836 277116329 615002627 340849522 450856325 490988674 626464805 511079828 785233750 309507950 517358362 424846469 935919821 831016293 553735050 845813932 265154279 381468448 654927879 611808063 388960563 161129265 284783352 258754310 552369750 475107083 147687709 952262603 538527908 414148453 247807975 845920762 916355774 180016716 417501309 343062051 518610521 817757141 687725874 391637225 463317999 136036098 397856363 209523355 255555012 926578700 436496487 944553217 177792343 521471555 225155940 507198057 374100545 275558716 959167900 833856429 644353750 661974915 248365481 505487323 981385602 391206320 517791202 881465871 395023318 852203930 379742137 755261278 661559156 845118496 272783577 685517483 110095809 200608667 361952863 817725837 762583430 566129005 922377114 196860555 771302598 341099277 856732509 432580565 948348558 637823067 217963315 823632431 431264580 954988877 480410590 117935843 807724336 155873740 559468285 438567285 306036848 703374932 832600275 168764852 292367318 788186988 455874001 165337996 319443242 990522428 534837353 772347955 155281366 603448487 575069197 972045335 827990158 629839934 847118100 935303536 569360301 465315909 324152952 122064694 131795536 397334025 397730101 662417744 174072767 454673756 137688812 276859188 843537574 107081208 500282872 224982880 901000593 886693450 618575111 889934042 380371010 905967531 213236785 127735377 672089381 406771104 829996124 631530702 656529840 377844759 252090762 477977256 482907468 897870566 722600295 257445350 830317463 776762308 761056932 947043707 462072310 996352801 908611547 398456909 916177372 483929268 530544689 790193531 968840784 298221091 428193535 937119075 464824299 750882934 397804513 951639604 374124844 911930093 690347457 346832341 791727376 126317296 975013955 778033737 582776897 243463480 659231087 978679817 652796590 849959862 943636022 410461272 235516894 426445477 273284412 685702414 748444699 383830473 220849106 749443943 996472760 928025212 139233702 668938651 205741119 454133028 929214430 328702575 149978556 421821681 426486979 335065939 295580717 701377659 122829719 943652952 580205928 695675613 468647073 722204893 109215188 597136044 929851477 880434642 576256361 215986790 636758979 338812295 988899104 631218060 334965529 180123270 419002733 105968305 949652942 369812842 663895566 289456251 321652966 336175614 722387269 304119831 229348399 321915562 732980776 447774399 401561830 114425286 818038289 666952730 748695358 265718363 947779189 932296184 673240676 808992708 533171656 217049158 645369758 867503168 599054039 978203782 371392921 623831392 878036415 760531086 131800635 184625758 149671150 437729113 909427541 952464178 155685322 344996684 254411542 924813193 945231503 694524417 896369441 866255802 394039344 380177019 624443123 459419239 829912765 259132661 495470814 327976995 796438537 402607450 636985828 505754293 944135569 694363076 995881052 473847530 850892863 998878942 310428170 347628269 894686873 900679539 838196041 404551902 156995568 617367284 125120366 818938956 357947728 255674061 299147840 131169612 719243296 924336411 607299463 575530375 647612976 174685560 606047564 574850507 941819457 932213478 287529827 591843040 285894814 931957975 519093729 104359601 983900362 402528323 983490621 791434343 306044990 854288036 690995538 524217421 660518316 547429956 738454215 702647512 782493302 746338183 441763202 908351930 974219198 862020044 353131671 295247906 860084043 724784853 411329606 413321479 323955036 461215890 701940138 781528116 438065649 309863840 554742482 942485313 152155918 813648466 940490420 744901792 236377697 355090643 969478420 418343757 251131277 151889051 693958270 518900135 483168370 293554083 430587407 619254458 566215600 592874807 790741928 270806463 635906128 997296234 413657563 662328206 272185601 776166354 268100271 188926425 727778333 635354627 106588973 584681577 498302748 564853666 342568486 186319922 866489286 238946538 814836333 342134627 525471200 370369433 666740872 613657544 847248709 177456681 622748977 533384160 804454333 616433177 987393980 345279884 260199598 459333833 989822874 496083061 655924586 622690378 331877199 704379610 673902549 886172886 427304917 921470380 335305953 481329368 767213999 570760297 489298384 670357174 158391165 335774267 310473667 513530365 780695279 693366670 914943188 739854273 994416957 945441852 965062377 865024102 449371765 708034323 694269612 101658862 372344085 842789019 210748384 618384982 827367099 999276217 517439075 321800713 861283184 332891636 274338865 396728874 439929791 850313616 561081313 666846315 332525643 492960426 692257629 692725475 143890346 201627587 328952864 664562295 102679960 902313525 397288130 204207477 207287531 737890649 965671405 690264216 315869464 598301899 237097359 724880832 434180528 329169514 833988708 615507447 706252226 687339277 831488369 328933326 540537188 846008628 312157260 838939996 794109910 176984461 415736922 477455834 867912390 544860016 794597272 978568698 237207401 615886794 995466839 895853865 825503321 512357954 973221313 197953183 890142721 148907358 330572675 175488625 186354783 748692516 533498786 906752636 520032506 839669134 456744310 150205143 490273258 931994320 631880695 854081995 733431271 469959229 535536999 289728898 723835587 648390521 934056822 936297347 498751181 185735743 571487805 980404347 509947599 871375678 134422707 521798162 699487219 439517220 174124695 550337726 634599722 580173063 714994644 863457418 784805945 885843711 946186422 197827571 417385089 219901934 386260609 198745473 279490797 895034953 828426384 618118565 637503366 983743034 225542530 916843756 183757700 726309267 529137495 703518724 216810516 459497888 987023703 402375756 415307142 460491261 729568048 325732766 809189503 275467243 489211477 620035598 700775065 490133260 827159249 199313134 755118182 342578265 188259073 320216768 683320626 768004789 498113289 158244219 411372917 817692491 184702814 437331673 781897312 453561230 530708323 165761444 490906186 265198091 748409863 823749677 478894188 538342059 445594384 890002842 913929197 727967497 543740621 383479506 303890889 894017280 461119892 277184754 877840704 253617857 268913543 659237008 381018048 511733484 225660559 684568275 641928263 560888750 823574653 185826670 549785185 168324331 763931357 470583183 974018538 972392700 478003306 323366660 175392958 575162066 578480120 276557437 889450785 101485265 636667721 708997722 858309521 285648106 924605954 349048093 167211615 374243326 474700315 192611631 447215958 858915746 178112435 316487651 898087118 268484503 474153413 995910957 827915364 885202782 347466367 577460096 320378256 508608701 401077053 977766969 960291297 629711926 637606346 297965090 473852169 981417702 305810823 330538235 282705554 398238111 281438132 307558527 258442403 353302120 393766721 111972112 358144366 368882580 756254465 251349543 608767118 953458167 317973485 651678903 706594408 468274104 535718527 841389371 650751900 429457896 690082409 583763953 712805953 784765607 785210010 923998924 920249904 164471711 821747488 832119705 792706351 352081549 860933648 233213930 405639478 413420613 453643983 878729082 507117381 424501233 921092922 199144091 339014483 226400399 260830917 371651049 140597255 401069212 343356216 214875666 654400101 649051412 352785452 214684533 578673608 615755619 716129215 313714460 493472887 530787226 882680979 629130595 400839344 684662540 382913109 123645161 641262673 333786715 986638014 703659778 973353660 190068924 907389325 756607546 790290687 764645685 774707661 589709144 284078885 361809643 685805581 611387653 408187638 866636975 692737356 330641950 503378269 805413380 101646221 106315089 466658536 407671978 183291735 253655486 796949791 822900600 461426877 198621625 210068833 307993407 386831705 882456572 718535109 852027265 894053825 159390746 387115431 900906034 961702558 186305382 474585041 499944869 816488784 395377672 863094105 103625517 404721774 885552225 138089312 944988361 692118095 669952021 838903036 299462250 403944119 407057873 988481808 697057423 884018660 738581451 470832838 671766332 912705548 474965013 546288160 532664676 403684669 570434682 746708173 630386044 243627645 530238846 403641740 311040131 432915320 279487341 177695878 877146851 281345264 403657847 973714607 224451148 302705395 628921785 674120035 583454753 981716577 579432360 761868356 535014620 794971644 959091396 740384037 623200676 801877394 129464381 904977730 560300834 625666358 408177995 524543700 480012001 556484796 527717381 255022730 544712565 498373254 495539443 123605065 102950381 722479737 710604713 842532082 236843940 582253767 504778451 199663127 887439437 300810951 503711984 120534080 159081515 813254369 499776173 651834758 766035787 821395136 334741336 362259190 347311228 271140960 131801185 165442215 636126666 702554869 426150558 102880227 579491595 450298728 785885098 147667816 316632835 535994441 773534293 274751369 175417666 633148521 467968431 200993238 156538186 969441080 939120597 235394158 101328934 104975203 216531511 643284385 372431914 909640873 430098067 621069101 135497464 551914961 138788968 790911113 265248023 289442496 347664535 230607769 873394420 889492753 538440455 814211634 210664877 156537602 405373010 459057975 867075682 930972200 507936404 624607578 566415485 410591495 221771999 745250490 434046578 647448326 869727244 708637474 463950960 419213187 871321517 814756902 486931761 237009971 636655749 661126199 111917212 414262847 480551409 473539096 781802591 174495653 265967600 417642827 909875561 225311845 323952178 239087189 882707649 705200563 180176295 250198506 924243000 173408764 272460143 617804854 291212579 204303227 773404179 853357059 978540207 408055337 641894082 128834588 707195564 236574844 427311210 207218447 827244504 908544844 937920188 271560067 713519096 658099096 603127772 388262300 690626308 959631812 796631103 360771495 272534587 934422841 421282178 837396974 956297812 774736164 526877522 606617458 426591598 111305542 218356754 926731323 246829760 984715218 571290778 818616923 154874975 474360244 138075223 331660159 295750925 645303278 427490777 764512316 450923132 424359884 631505531 938190614 762530624 552104181 877662170 886290287 810568658 598420850 973113908 490520986 876353070 146559698 451791909 302404073 850651908 261182568 611990726 631030478 990614576 755659071 562014302 983675880 220608060 363045241 452163543 518043200 755051378 375777973 488911568 220744685 965693463 642488297 321606963 347779167 550021430 433950026 406317013 866231418 361357017 782252120 638558577 365084810 272173150 153105477 250128633 517535815 858018342 413781915 546395422 825533411 751380352 992563641 890515875 446322257 334579426 596914769 251768985 479514054 935139364 751254624 448006402 864713985 154510205 239639242 374605991 803847528 134535347 588556727 960552286 767059658 801179417 297307023 559952885 169300929 845187957 172411618 997727050 831954166 858630440 687930587 918474861 207389665 909365281 459149653 486558244 334645636 442912501 550071582 249650188 693787662 108615751 732262727 949508334 328421782 588904083 965969072 575511053 398815055 897675088 455887718 442692722 456098178 216190870 280009792 312451238 395026556 684168147 379299735 720782093 816353036 384238832 392550189 950248459 356733481 853173337 425769193 810076048 360923934 368667176 258222563 373300184 119762206 262547444 780926406 772524839 861162516 281880699 134852795 482206655 306168045 275083172 558378012 656403724 186357646 671291317 278372924 209989342 603818058 592555825 546351442 755208757 980471468 410601037 749438495 795884865 991933349 868190882 408582797 173178171 348477845 751755940 982387954 196984052 692620685 273133456 562851443 150828469 745282427 388645261 491493714 438008974 375761199 979401434 499208172 150865570 200922321 788110015 946391724 424165251 926379175 254352542 377655813 711640549 349357302 317957235 727139170 793401482 863553226 511681558 665595392 568959219 619042742 685127379 280272845 339803062 564882997 616722177 138273543 101940287 126884242 975505047 448035859 606728020 539830422 204543877 230839192 853554689 733226672 229000769 830249306 987924763 621173706 299433464 113616050 825831620 488774535 137187046 565724191 902620793 402291197 682175124 631150068 528381426 837753103 265573453 485800770 620994509 462725754 524696021 413923052 887332790 675400582 191877770 769649436 830212848 494398726 977749367 851285614 659407468 610715235 820769597 311558324 448945198 817266742 618282561 274036119 220623359 975708033 280016997 545066807 534084010 950447847 793736615 929439836 321168072 667286299 376033098 492551458 693296874 172400802 366149171 921075944 544966662 792166951 829577530 774763707 733621731 180851716 522345636 687820595 711650426 896583466 233986635 567953542 243473945 957811803 984667423 692397433 824149417 138043296 842260604 543749848 252504683 510690637 707848037 383388960 666942127 217430842 526683487 372829863 284254603 477527261 271472901 601444945 759209720 910705713 282380070 776162827 418168900 821600226 895851541 967636591 832051421 908131458 624566465 656667288 409001678 687083375 303325217 752710229 224391915 130552778 161467572 310093205 587408243 116304052 278584336 194038826 928808757 655038859 245407690 852141576 628857038 151368482 245955817 499979249 234084220 540976938 444844166 598317705 992383988 544295150 242703078 812441563 175383713 140330179 645653947 663055759 114663251 228843610 603167485 151331472 644846604 419143787 854666609 298176792 841690378 441549042 476707865 920058744 138012708 180758732 707994790 328333899 821258003 646828858 404260316 792641323 823650374 637465271 865641618 114175361 495880745 969818024 785060421 780026476 117414657 844639758 786450025 338530694 592561854 343528016 519091996 476832427 851307517 462603748 998146309 886540080 976644142 352131734 669347084 209737087 549115878 988965264 846881651 262649293 348617301 608834189 247968138 607124682 593187381 875627878 818936898 113643604 865917503 767517835 919248918 953003072 308643529 341307739 105054130 882735255 833290349 831426291 639444268 140040911 302019185 805810460 146547029 703313921 179807767 526454011 660014876 676285128 623666790 597618541 341396133 378009383 710246367 207820991 146176937 354837686 446921922 585855426 442170129 404425194 974263167 350135662 135758801 440935427 324683575 819897603 104896626 817530376 769538731 146474996 953703533 102334591 742018196 494051292 958008214 324063015 292254296 275813919 253538522 670538726 827541199 159723752 857520842 926806215 804154526 469116359 942139011 903572417 166700678 591138257 661316635 641244420 687621903 714347637 233439351 986830870 240856909 513603541 249728567 798263836 424741701 385820172 434070149 134399602 597099877 750686422 153970831 871682130 302428661 617230514 839094205 132578520 552218208 650550695 748174323 374016081 686528379 461859125 624518691 975838898 467260045 237995508 712746053 732539701 285471365 495400473 785241861 623528270 649725280 131976073 659835578 565624926 654423606 491643227 220758214 313501856 585635669 325217094 282308176 922347757 139311420 520010373 676093542 909798065 476542512 238006197 905794751 557679875 852796467 426855192 865053054 352456463 320526758 946861732 158067074 179029348 751132525 208757491 966408864 469020476 613930117 376701058 490596099 557362408 616179400 828701908 362495578 835327266 537254467 935271003 652690996 971764768 353812738 333206002 903906161 836065238 545261673 169504228 956862181 152235481 459601495 370503977 310765861 408117793 345390342 479070699 969931876 614430569 123733788 904384761 304670086 183945666 439155156 278155457 308115532 555832707 272282444 964401347 499438773 946554079 475289455 858861864 847390356 724019093 903871553 533706874 579375367 519145234 458329586 249272380 555470135 898352989 334858693 223675716 715393015 837111962 344446830 889242870 844126332 124720112 597345399 158796259 857278860 516133810 573884880 520148698 563577508 646214808 840216240 918893291 769646628 931080659 238912774 489194733 897353325 326425562 102477330 863413851 790747703 300457381 220450064 659724716 290290965 367469633 609067225 260075217 480820513 552035493 202634073 893749098 858309553 643486844 873015615 915344958 617393589 468612327 439306327 399740620 823134758 890846012 407348494 543944585 177623302 443423551 977603996 441996273 123650989 892506482 979883882 366538574 750243642 211952468 289193415 564757514 618481159 770291624 687761904 937266524 383127792 175389518 344932028 270016496 704584331 779678417 824156041 998399670 796595772 950288323 360887805 571709409 758084736 773441770 229933209 452456687 113512343 604184955 448093809 413451415 182908994 779855662 544074211 400689128 941314742 664863261 312196417 513269472 543930352 589131981 652179460 451468188 236434719 256941768 691183575 545948705 679258651 400987060 397801837 400133064 915724449 347883890 157570140 314981644 675209395 766497371 924477941 183061741 658969023 657511258 556881396 265025111 506377865 472029598 430531240 455241148 568198160 329090354 208229668 969998686 372123198 898855460 535639889 936736875 325601650 852880627 847543874 255417270 913137948 822437662 618778818 573365133 839722152 635907788 539219494 908122209 515114859 363862968 320625777 512166282 840380799 680555580 286271301 121732728 797790989 506810644 883659212 788035921 835747740 722778402 896233499 565162946 167431819 466642456 611769631 376324983 515398241 559477805 443825371 914861986 684870771 669992113 262247299 444340466 725830014 133043716 626463754 817419696 824734227 931046293 371550368 272804044 242526877 862170204 344201709 766677810 779745833 196458504 473980477 739821855 491954964 745859215 342259427 920613420 940174776 433775325 911593474 919716897 485104862 764324339 132734384 904771539 580711060 590847616 405164440 152866942 371630477 610642102 477615372 928661333 247979515 410345941 471160056 787259387 331153528 816298758 549670243 348185335 160916778 131159262 505169340 338378642 801267435 240634292 601702844 384404249 544996912 829774183 761358583 843632089 608310880 919151867 307811504 359902070 727268408 884090268 117855851 119726580 443084133 432009395 714266701 752971542 954053150 888530406 105203457 103673257 126721378 118029300 493353893 138661628 286742821 425266150 497499780 873522782 971562812 860995778 187999316 358847585 875616066 356461412 135304265 987568182 787444016 132532852 873574991 340997191 315215651 838157753 409996334 752311494 875654042 198506496 262207887 504330132 279629549 706277843 847893874 107809549 348314122 671620058 390460878 802291665 581826255 789726586 565409275 327498352 480172060 762002681 617512294 557591718 848553676 921125238 373704562 812149036 910306441 717510887 754221490 796711641 102569118 637809287 732695804 354297260 434916500 549679454 814628853 103930958 732352477 779734997 450244684 100371626 253636752 298503619 840247509 376684850 749046103 181454300 516870378 920512521 836531238 865271681 639447651 573211538 842449633 165152371 353867484 646734072 660643151 219180471 826539612 642741694 883341196 950812334 795386840 859573777 758395928 949691620 672211464 472726183 162109813 712611988 341000229 446275829 707783037 823165316 647049780 689796344 243777073 214438657 796828648 598586450 763636608 777646541 276157571 939668776 985999876 649519528 479084422 770552220 269196460 113093301 145610135 763661092 797477298 245426852 632232755 115175690 403355702 738607158 202124530 441266537 174246916 320495763 538932192 639624397 346396446 363425601 841816756 430404350 759007930 476265493 838902161 910390124 505641397 480549890 739060026 871285607 625987595 237305970 599651698 682819760 496356317 186717945 850654686 293575977 519190381 678195085 939594874 581464191 134753145 153325922 954055499 512775561 941075641 876693941 673175079 787104867 600345811 862438547 738820013 987817308 608899631 892684881 756491502 920328864 174808180 442893699 501516604 453821747 541586930 770599500 825082157 623409711 787521268 580485478 960090792 129605631 369275599 841694112 495145375 711227292 364167499 180768337 764948712 831104178 494607457 534170574 194796369 460143054 367372273 671286480 520334048 252996322 584433679 892502832 932085924 493165372 104472081 634868373 562047214 179617910 294541526 910092314 730754824 901128609 208453547 516921224 263806961 293132805 452292001 569003158 666241380 241697567 651273648 590078241 529293846 345805785 792319198 300860018 240846988 532936026 765059836 871639294 940264122 185803582 608253910 794757067 163805193 331444072 912293839 476431587 822966855 591000842 969080674 147565354 402323601 559330869 497508697 297499082 123654717 135596728 957187751 395351717 272852275 723253283 462551530 809868242 259296017 494363229 107131669 496903717 544030090 233502008 179596964 129632740 544504510 258764146 787282986 484777204 431022107 288829504 137675985 433344226 918398794 389814338 780589008 578811764 202033198 268517717 694433413 400374456 831220946 710535086 182936508 180860961 815338405 742081278 146393757 439466009 585011072 185116545 997481867 383045669 230123761 107603134 746288366 225561291 744674879 400253883 857049870 472267346 451418643 303700513 890267194 617188871 296364649 528119512 690331666 303023967 735259512 833837236 580950358 907085428 341692156 512327798 171637099 792726964 635000707 619784913 237935131 813716526 786597631 309758232 169383522 716666657 812479624 447386332 412311647 880592044 866818053 696797027 691666968 979055701 430684627 211662918 836701967 399957179 372786844 259988329 206813098 724710815 202830494 319082110 654124159 322794208 550133648 165337976 523735074 718246089 775608469 762036219 738466734 415054100 213480149 419227441 478274972 855841895 215434802 542486131 434982244 127168139 802627863 661068266 271042958 230504767 240907281 224886973 878475509 866872628 291447000 667083437 595020617 886035434 908277099 347577567 182870065 426572468 390950539 795130147 145117432 610566703 575347772 523681117 512478222 375911266 504534697 250200308 857752099 308341701 745548341 573364533 775532060 586498646 474447613 806649069 434297576 354052613 127253700 495396017 209213397 931704139 611737446 187566350 135143852 373038850 237695376 724654601 591357934 667681799 682768119 147180711 718043386 883539946 570611768 913577088 327913314 401582450 557651161 788164211 177224881 898082502 536346569 941179920 319129246 823038135 778710696 536232660 538388922 309027997 473917297 240147202 637214091 870184214 189576183 165360920 859359532 541365739 731319562 422237227 102755815 394104188 427443979 400259205 950993599 177574849 988298529 698480162 272616688 241710376 437952246 808656821 780743195 506439761 976920163 433486202 740317323 404977069 856797489 674871504 332484813 761984324 277150714 732238205 384504800 710186448 991048167 778989465 149332707 380602356 432362201 963332228 712164258 418598800 546085519 925849321 566699924 267309043 162798080 442385320 656982821 544072228 577524502 792668302 554314511 474277357 527576318 785600028 771882143 450557324 802798124 838024006 354995027 845131628 358031169 713168020 535750090 473629692 432709195 868050376 732667805 142756806 792713127 786889840 786922251 683287138 680340262 492667302 805076249 276687886 292235577 101074294 394348197 351678485 689872591 636858389 470964959 601474310 686042469 823037751 507520825 151332768 621549448 294648845 491220502 170829132 228182467 809656109 886531780 302710255 397128559 146130398 572622623 893023380 931118769 387249029 150055831 938906589 717244873 963590123 218182298 778847958 169453391 377379824 628077467 652728933 697191540 816253807 914619389 252784308 123698180 855733915 340063579 951435546 634119597 975962247 397549986 202837171 267239328 590848172 432591269 951030086 944476573 819871849 650663820 683584622 481420993 953108401 158075514 517881611 781553133 382420731 187526377 297300615 822707261 388192229 259627709 186951193 380399369 244066210 898419492 532925132 126166428 155080435 503678071 400728141 605199814 783898745 412989128 142891683 515356958 781627111 772743001 148987572 805658197 567481651 348393682 254774825 727950556 146883740 227441085 954664678 326835887 206870914 939985728 611574426 246997793 542232177 149268490 842475133 559213608 363859619 704527711 763444481 621758276 972904374 762490392 109210892 204020880 884698270 349984896 866655113 730095651 999715400 353548642 339097047 214380808 182513210 649133381 136046491 511503418 265711125 884064135 944535062 926329124 244451066 580933635 565809123 559614824 974483333 613500986 795122161 142910158 171008045 878761730 863945171 209720534 640217336 808598114 458709821 474384286 816263848 219572901 339007258 248285209 181329659 810214028 633592353 203042332 171026389 489581432 751717631 137192970 214668686 206073537 901446932 757000363 946017117 695887384 430206718 698418657 494871932 105297800 644438234 270864373 385835161 397562767 877798153 349898674 423799891 581713239 669727255 258348846 394092298 886147124 402324115 536773783 822212671 785274072 250948905 332044505 436456768 925342265 891015752 602934870 430926737 429126672 516101903 126074587 897845815 477400095 122345904 403373696 527005906 903734863 305311105 467993226 875099362 645154257 777428188 447968301 653191007 133049358 204544136 706595603 431075029 703775723 353363780 937193305 777675509 283107929 445946038 681850850 922518895 601235614 329649513 202992790 605816728 255049008 863021155 197363152 702738556 556932367 642743393 709070744 657203861 578307399 440073678 772853290 596838537 603018666 372927887 514076087 702186092 917423372 367819704 943201839 469794842 718742320 873430987 167107473 159438246 171901778 810134376 751277960 293769072 886556781 340563274 365802442 956276606 797855890 632628714 968942527 989195645 183318387 531846166 257183114 259715458 482868302 365668272 631487846 386177280 184793650 534442362 886431555 151781631 256039580 353885120 640704952 201124167 196145787 554487028 903935798 351595943 880426494 904652692 356864382 584743875 782992671 529880644 814877963 819755367 362922096 475553383 766909270 375421145 902309635 661302009 287885867 232930470 952518034 891608417 870469840 529264847 302863521 256968786 428352951 618591628 408011684 984949788 732970000 530270928 718511892 175434394 439183183 219426122 440334155 369558147 367692904 829370119 540100618 749937221 264373427 949718902 494583025 586241668 254080750 323863581 392778467 952269490 301535946 128429306 283171111 758442433 561278968 118437221 762644331 959855698 394498384 613962083 884299685 830853758 515067713 115535045 711666847 690620054 825932455 402147438 344530791 171015040 851201515 705796908 843121020 916295864 410634377 149713147 144036275 682560726 785766641 783188589 602070515 115535675 929511679 538821203 721035614 590885410 114301196 833942299 289917247 679520618 515845421 201381129 972734942 617804028 763829767 627742202 908846230 851486528 369128629 400016929 711604570 758297100 519650497 148806119 875275066 848221169 830037521 868044206 675855428 860318111 752972369 708594237 424470791 365519632 326538061 418630695 574853092 465752809 300566496 601003308 339485527 312763830 879540463 146730660 988011766 839640915 249793075 544809037 102934639 440020148 627328168 168191754 639892064 489642852 115091987 503507302 486649099 192728303 363608199 439251889 852192325 440667616 917214052 287582481 172610767 394892879 480684866 854659995 647541110 932895338 624791799 320768018 533022206 473808154 188265900 809822354 152897997 360339096 850444155 592625463 409372050 235768569 746797731 156630706 969628253 788908509 560842356 946710523 499508530 898385079 161778481 733046571 504788115 498362408 279711208 584711798 913295131 329293443 479702654 768324021 704618671 541668323 954905957 918509304 170382093 385284776 384280800 329850822 487008369 469088458 852724741 645001973 414186487 206649673 112864280 549222892 844323690 200417026 518588562 923522282 998837555 834677478 900303947 573274212 775361055 938531398 551879559 485121790 216400341 949241542 965589028 496050760 564860857 816500149 465999513 283814039 863619307 475606757 308061832 878624205 582156646 707609277 387709041 620360641 947692034 357318148 241374481 103716679 184182478 327857848 134423559 605948170 420653588 194904916 162351083 199296304 418262702 779189105 510528671 134702002 603521327 802591122 333121744 429599777 317471954 894252772 225281522 744396101 140135219 528069182 479605104 521579999 475681468 120926597 421841376 704190951 527139396 103773198 302503578 900609025 187813166 713950101 357547722 448893392 909973048 636879162 289992437 652757808 516428400 687024126 415649986 390927428 273984686 469084891 655331786 915490340 739483025 285041435 585253333 935378448 341018135 356889262 718007981 972917011 114907343 704888303 192339661 603855111 784293804 504249312 497942396 841089238 506372956 937778620 402228092 957628275 458349798 490824871 880665900 214152942 631705541 295864190 989674946 731306546 170971190 656505176 129708537 281324871 421510546 172742202 406648891 104028610 115705207 438930175 290196984 634955831 295590931 578649724 577952815 435787487 433598525 222932831 502082535 867311445 140273326 773976912 644789586 753127980 624234302 916756024 274724539 681107097 335552772 464973148 765109871 117735563 607080099 446300675 830837243 455796807 632449220 863091232 485357584 231468202 205573393 771090228 296760550 537346928 621376761 625956440 119992351 110146767 924289566 830307064 357432843 395262548 783477385 221085157 428967260 188762033 622839997 356190941 957654837 493674652 452756155 536297799 302099533 349137766 317731214 702457760 240680339 185674856 976529924 103120585 176090774 623790177 804098644 295414600 669147279 809803357 651106373 958289703 120631008 270720168 847995123 979212471 264274973 366334001 994216227 234367068 266827153 584612054 687589839 146889370 238009990 398625827 919669609 289212069 805516379 844047233 290559357 954357041 119444388 962422961 343740119 168792936 852255415 100440739 162157080 742588939 523301595 399553998 682334513 287270707 237945079 943144083 649386068 467585121 150090579 567469327 560619677 935516957 271560299 785248687 274354574 650507018 817431048 749231556 289149291 768393311 508775042 592843923 462209429 844803267 907943343 687654913 605663583 666684235 523484808 521391294 291621834 248088746 239862511 779754122 935069794 910215044 857048643 306207089 826464494 782042444 549178892 408725168 802077794 954438946 184015997 644825306 839898771 904939285 532902356 232741982 314783312 548981298 663003505 222162782 350906869 460553958 950416592 315578673 355763325 250988936 124505915 945252041 670215334 421285413 121252599 106097224 701586456 171645826 464278824 410223757 724115217 386511459 199148819 684406699 659209430 496314682 413283049 927117467 667075647 638080230 974444757 690230117 541077394 607470716 654983508 652887765 752803828 799377076 115121699 186353378 130456930 135716976 837353423 559996729 842451111 227846548 254400955 970968870 992136925 309789031 998548595 304900006 156526017 396836502 832602789 231323571 665476373 861250865 657364602 563075387 259573784 160023708 162295226 628245969 613673844 622548008 742441814 702965886 514085053 236534842 106261306 842544385 525338998 999632737 438772821 327081199 272158157 718929739 337663343 650719340 513479920 340495655 225459970 651571129 796432660 796571856 520125782 337220554 416949022 996697718 871300605 673748744 469013324 803565272 226195128 173961220 704039952 398311799 220837805 187242299 279265175 194219099 128390350 274823890 417459042 197348948 592166166 271457575 163902966 396583392 430348392 869533487 355303577 796049315 482521044 571547399 835522616 419277204 912745159 893175049 727996665 538330424 148307222 188680559 332332024 645496489 517072587 514641931 340167195 199612474 444659686 170296663 276114525 422030189 706130191 900918828 388477999 713112846 795820880 144720571 378383561 695545783 350921394 597102541 155135337 215601017 510619819 668068103 285746351 226803111 836870798 716776450 279819258 291560784 830915477 226192636 800084018 394025247 872757136 233488102 687544642 780654713 808583978 405813655 564682650 646209416 545821312 777562417 550077474 298543515 788374244 877515040 454577780 937477404 747110221 689985437 926273910 794114239 740328642 320390417 337343360 888831960 709967358 549890099 280721525 887965670 979290719 943599717 376104064 960047757 347891566 230078613 284863443 819987663 494384149 373872320 657901986 513686406 496324844 406506968 245782861 995118730 303277470 892283132 268951779 843781992 854950521 920302599 726207353 123575667 419071564 396404262 556323311 651025954 850664603 685666798 270076584 371382495 956481504 612766989 584588076 849574129 318805181 393817427 191618002 897954663 550887558 535486771 381879352 217251098 446353122 402383613 733733232 243994236 723861050 917688371 589383959 902182493 521596409 679490626 794959853 343420185 526521954 457235485 439360724 811159367 270746018 243099442 493348777 454786563 807907543 444057625 136123469 216448934 283955627 863160299 309538063 397557523 310615776 839250389 605362482 427257492 372828100 484720040 988531889 868533695 618017387 245930956 212286412 688881268 406628183 229504592 740985617 137272959 222726424 736488484 565909680 635315436 517833077 590901186 549871775 479222148 288871095 769201196 780397801 608656681 736605042 206748718 837123953 947780356 819065031 912308048 330676657 252473483 387535424 604712842 310704325 459313822 832424749 175888187 744823743 561125325 457567784 969342923 625258919 118952782 422791879 175117703 677158980 206477384 202298039 960843842 960084180 223007771 261520736 224530646 294737637 326801315 704043655 563708336 609308143 150443120 893132733 823984124 734459218 311220570 367530719 283365349 906139754 854376142 931913211 359915459 568023779 786300596 986749200 578085634 933172934 771853520 827156798 888227162 285507493 981435882 450318408 620061775 162908484 811443269 123088975 619578306 884489254 680127711 733085873 577110849 142274474 370820683 494966061 343803953 462426349 887639866 291378832 184003246 371865414 795138937 520753510 551293163 935619047 575961396 419769025 574485144 781138301 710986460 330781010 209281122 956273839 102150249 409555830 429756746 678779694 868654420 312572049 239994809 250224108 591542741 108714150 449719950 575874237 728441679 896246929 225280110 996096858 447399945 776970519 694226890 160739384 355496192 286329465 224661580 457315754 511892843 522656521 319293947 917575148 444770792 184062129 532466318 666296262 284476192 800631162 171381697 602717808 484660660 979301262 437899960 431135728 417160618 316312898 692201940 257603998 537685256 514433918 209300301 690198310 157908180 445203423 663125897 646744652 662428527 459585430 598232178 609701525 191308798 546494025 853522037 612035842 467721104 267899424 204951516 487643165 491122067 264644429 986694658 888312999 609859063 286868261 972785128 278103620 571526854 356859024 592866736 817496125 738536836 558019477 898574457 194822665 354794560 153591774 205739989 698921608 505320698 951288323 653119437 713279124 150636094 582128234 628305801 318590367 574942624 997249613 824304758 964442463 974256512 135229618 179604712 943076290 757769906 616575951 249159340 692406847 486222723 577757038 843369965 336272252 189889624 673663004 210246647 760635315 703210421 930854190 640246147 295509320 672972712 417956682 637699507 668188330 309133088 510549557 304383677 272736303 690496574 784922756 952086327 672154796 665940523 664741249 458504104 500081125 289006344 481878061 755073998 144908037 871620226 492613412 995634045 765977080 966551313 949983808 529861944 588571937 416640207 769812799 299408381 487086369 170128736 469406344 740023638 238550557 829105406 889800507 699440866 715248767 322982809 131619314 470555420 259900165 208291982 634292634 407469055 400870942 231118953 314354256 600594690 574056408 862289783 674564525 987200865 270590610 678158026 664622138 471289232 888927433 780593556 395730117 111202538 531946019 348352439 395520891 626302726 340618169 361902175 921655729 909617165 578576081 619418114 973425363 884995143 347714625 504382300 157433939 731346382 706259350 428439508 653712402 595484515 309378246 689923689 551613719 140415395 591230091 521612877 560590411 510906633 492271013 719089120 502224354 302855679 577887997 822583330 805617600 780369979 744495410 235573515 917573837 431338746 329717482 553492268 916040952 793239114 312691388 353084250 289087383 407172886 908330884 201460958 428004721 103500253 338081113 109438694 907646976 998570022 547226815 369731603 876656721 121213089 742284197 821101166 785103555 115973611 132096385 535284836 410228289 765050816 631642572 711757904 730874717 758765518 487263936 193718741 245045517 635291689 827324919 854225339 626847599 957180032 255136751 345528400 906777087 430589998 633128158 654423647 375114945 525913869 648623293 764391682 591875792 896849726 774478794 143796888 244155018 311029159 815390176 840903033 410864412 508920755 659089782 592367436 105691873 896283709 543696119 378870830 920590805 915559337 223143520 543785046 744354153 157950812 237559479 476223989 601388582 888905347 793952534 752827256 865518643 501534625 817031492 322276946 803267724 545195239 849745462 537081647 624766663 906827517 191013768 789319830 337606590 995117058 134317482 384162930 367962850 911861412 431649253 172236784 465634081 841579719 772867907 911491293 636406384 888610284 899259930 705272054 860899635 103927305 565192529 227295851 172506298 563559175 875244649 212856515 181240086 534097499 493913089 557727425 993350345 305951073 754942211 932443388 976476351 204381622 461994406 816330326 430289751 306802328 791954357 494416585 402794089 350182712 265311761 874001158 336412073 452802371 579350642 502125201 374669772 419189047 510356754 137604077 713627027 891390611 337073536 622665179 931719645 966545081 429019161 344217719 838629491 662941123 100726380 842164032 963211185 275954569 281727739 483722398 158869187 958686491 268996266 248860722 141481194 197372295 216534008 271540786 269289506 291202541 452189691 112131946 456179484 974408116 982510379 951622129 477242154 856897803 291576168 179402432 601596765 468732590 628316668 799155219 777707566 192643715 170262793 975857271 962210555 244758702 183402288 412484044 754292325 323321105 459350288 217858622 466282985 360050266 693686050 989933299 459953790 169368720 149895768 912363884 914705494 965918384 990529925 727980679 455316538 158603515 192068337 532136716 372255955 980656053 118451282 627298348 731366433 949659335 681032136 363694568 221906013 498462943 682437791 577404232 820475674 296986393 753637155 483072146 304689817 363881603 552430640 376643295 201389102 825554986 426956184 168842420 344524732 937622191 541172639 998682921 704324958 265086752 590375636 126180426 437855876 513909928 277207115 996214086 939474005 226219070 426469928 229955053 886281149 499918067 555009013 936419811 668247001 505665984 603810610 947413796 117481262 636969287 513117072 925574954 727833991 373311208 313763919 351754880 949671210 944975112 508784612 997135943 924163535 643788759 827800215 105703181 325647434 520949104 361573673 613473118 217254840 278508068 228817499 574200509 587094683 879099696 550056547 137175807 160691968 546713030 247536557 352171518 652833429 993528352 668829518 489985186 828596891 874809687 402880996 285270848 643654300 653625827 735107622 716702285 299651518 598556937 767793415 554203597 342056703 516831223 370988879 522603676 546260480 640465550 310399453 495618947 433645564 516008598 592309799 497649344 981483650 414135294 239802794 722525933 599098767 513926806 392484699 340216834 798356071 544270517 485952875 849561504 851707096 635176532 108703272 563168625 698470479 113997868 516392548 781952369 635642363 985009692 877783722 551570329 408231020 921813371 895321839 406396698 371668461 850089495 548654018 653420497 978228315 693764316 159921840 626461333 737810317 993856962 192552296 475786101 157587252 185987208 773720884 820577978 454696003 903474085 444601574 478417778 977365076 668960746 800636793 551715322 380408430 554408365 443506875 829307560 180272430 978418392 630350466 708389922 769645539 167338341 849704722 112306942 123860884 662928071 846970820 302906588 766193210 978633079 120978337 831962931 456366621 827643529 188645813 337567965 562275912 790544347 393571930 819263482 343650722 947141342 571151338 325585419 411597311 259471289 540030164 300449490 326078769 655687477 332352351 351064844 550160728 617131523 509256327 484159007 853378616 780238025 274220355 863285505 745485606 284444636 676200839 714743795 110622803 416453431 626107236 210280140 272723639 591845689 382613112 180673502 500949800 528954700 572454084 916595595 165986338 909926487 899622247 732147439 282246652 413186598 428201799 581803164 338228021 760551369 285015185 994883243 746193106 102638114 483049928 725416670 220795162 727648701 420312889 774858134 862224888 738482843 321037829 910918080 786803663 606148644 412956274 366163022 428175129 610203673 650168223 287878692 535910302 527950343 832223930 804838666 868425739 280855758 909532745 415487106 930252386 255816538 423283812 941750423 605503344 781848526 328328209 800791409 325982338 616176344 703034847 501653756 819064559 211757734 126499011 663492042 573360510 668723137 673490026 592366813 622511663 164858427 654279720 793488653 856476385 545849453 514580963 296932238 284524339 575840878 320693738 656509923 123707124 619427469 278185066 640369886 126652650 521703774 269267604 402861196 580631504 674895372 722691905 739742621 381018217 895071598 929638780 386925692 889042920 796322918 820910803 828787473 916006607 940562290 969235239 490280896 461864883 145503201 210273868 354244387 879772516 734648241 907364506 811000308 879959018 582503573 474520993 307161923 817212287 581530557 969061318 851691928 612033220 922744341 785065846 611979430 471166258 397017364 942610957 160070070 606289589 975383181 281081669 697783786 829819089 136437318 917549021 200865191 576052324 261904043 569365045 305329517 104561242 197125094 898275669 370427961 539196955 817802794 256566515 278414067 382437378 716109510 309044708 219580636 328471709 379067514 541110424 829073854 855519925 768494201 692920588 898836716 296200358 375606183 923046916 292187276 319427139 318793041 989174585 543338681 214101791 586922231 194449213 279341289 602014032 740094008 692185618 390123563 343300179 624775157 873714131 948140702 106945580 256544542 881298795 713578082 970677152 988420945 595403978 622706592 335081982 738105532 176836041 480877909 871692141 879246269 859188305 557437922 714604958 146604092 337701205 328265155 568956403 919764487 615962700 848151194 451662035 128382696 959803125 257813651 548111896 302702428 224584301 798451955 537041656 920754578 895500706 966749241 441720134 897060581 976061909 617911795 168328086 256993770 957045303 892972436 329282713 235406038 917715141 935189979 311126831 651541093 933786097 465622218 911626569 519164464 820627234 433318487 104031850 844251394 868271369 289893742 978405131 910139228 593922453 436964420 778319993 539287864 872253426 634790448 346397680 376223815 505959483 325859393 852376317 809801029 796663471 230093388 695655336 161780153 924591038 633104081 706061091 997574192 409022951 808277497 669397946 577525063 710037090 996257665 917009728 441454541 152544894 329854686 921228059 863665124 367239338 455088108 394289863 279055109 680581384 924797045 397543550 673426625 813731711 752713662 876113691 992454621 731752946 370612506 857897227 218356107 466684810 319129557 408878639 236566622 371767471 590656584 234981055 611791163 620661488 750313161 334144361 999526922 172447577 967817975 351399842 153134438 290493908 200738183 784196506 230362019 180484222 851169954 845321413 729088389 773220500 552458656 557551217 940226750 404128365 728970526 461216996 396338086 618741709 932007096 634107542 782250146 713399276 531985012 331522467 805871171 488567509 564024102 710219447 721238376 527764566 411420870 598068402 897788987 466980518 530763486 352930037 927089627 929787244 415258799 564507385 518212496 741217470 294669383 157414971 196557659 287756689 885515085 948422810 219765813 623156957 513257186 571354167 150271589 856721361 353999637 160491553 618985557 410509887 163959312 424059199 357786747 592891224 280537565 160589728 902595273 477853192 458145326 737693720 931870094 408942024 530147012 377225966 921267906 865889129 629780338 249075087 598852800 714628068 591399522 331373213 951537380 204880729 275320783 197739212 565540511 876593896 859753302 308200540 601622810 502518153 415096711 309859852 432663324 906689468 788257169 923833350 282160129 851848442 922179155 692284759 334135359 467312806 269749297 406528140 758459355 763301458 349069445 294907022 850858788 533253539 432646165 326525657 412404404 231886572 990531560 638579655 937532140 373846636 459113441 544844066 678375030 795389660 405007391 766963317 123784974 940508934 977490548 419106109 651992104 709493172 103897712 842855768 569795668 361972172 779224851 475443667 786221353 353763147 284806159 353450358 318077100 846978994 545836779 279092089 805224348 690917779 927158953 296923761 459094144 805251897 156429608 778691295 365096442 895654418 321203149 314351375 566403027 441124927 194537920 931293578 680711989 105663102 351362590 703118045 959998775 731151833 981812300 398542666 764439164 245661085 195471011 511578754 807550427 273685434 201580459 939298042 587458730 420791415 857685533 783587890 281400172 801628281 160584556 248890209 410175271 406680543 593058053 252846771 655061469 685939649 374919722 655854191 195209769 879649111 585371362 560748181 121092463 319796906 106718731 205846675 418063237 289279401 476695357 639330810 703986921 533227471 192662853 398981322 511349296 936615054 213500983 889330853 785592227 860207008 240087823 139425489 786556139 310873003 857089696 221508757 385242968 521713162 207704506 173486214 408517347 724780558 554119671 163597648 519684431 453088762 964555828 512635375 789160004 796689638 421344811 598019545 125862914 789003594 576049818 873610047 495967345 109587733 345884242 554049323 857706774 683692196 221858838 300539664 596957259 874954705 909018242 933046630 544059098 614283021 512754291 212880822 316379962 118388222 398297290 920371803 542271079 384408331 512037240 979035513 874188489 456034364 523846897 913714195 938284980 762137601 266096793 986176562 901138955 518381085 750429168 436574516 400328877 196588187 672686611 195264923 766242231 905799135 336850585 942281542 445760580 992776837 898063522 274613084 583287859 468165450 150739817 162025331 293358211 961924883 920802628 137188265 956646510 714187530 713110090 728365872 703710535 408250402 581934564 244210193 227035538 413016446 939716117 465737609 451233294 443648753 930209941 956898963 793233663 216929678 240365448 949362930 850246081 800434969 388633565 294720771 467719431 303349313 128545011 447501400 621652179 823854561 539836838 516712270 370237060 625163979 454196438 550780853 437449263 319297841 758154441 142222619 595786802 210814124 553742548 584930818 712514420 705378691 532049167 783208850 888351915 942089742 268504021 888810065 600950140 365987492 911630236 189452409 553162494 645519065 904529078 975526245 773989267 273912020 830168051 966112048 859532067 297101948 240906876 146528002 880415910 348014553 528248710 440721469 412012190 659167450 598845542 899243178 103730113 565461059 252545320 347409937 646762113 502190962 419827294 440039372 547658437 344062068 256701722 412710308 742712288 169930458 573353747 341124292 960308606 662673397 598193777 489032681 259761421 492623680 784257082 843168791 760866969 110478027 315891216 629075629 169946790 263966484 740379255 299962844 594861788 517019079 107554053 170238044 304663825 102959474 835338547 512952664 253274253 568608770 581294389 553880220 439693601 609264963 827566373 334969661 157182415 244000175 941270139 216444219 603973669 190566657 644598226 459700157 391213951 807897438 789284624 654551159 959716045 864815173 409063494 896542689 626983797 528042517 890735904 635611676 715093104 784785153 444683953 820480988 261301380 229462143 269768141 417306565 964013625 195936313 682739104 402278962 448351606 666916468 669769896 520487328 741983656 171972317 220918549 380762548 323901649 606669184 528103177 677389370 869079546 667761525 232720294 208528660 256392006 782950608 433782077 935961267 706966678 190997343 372171841 644768249 677796428 611770966 452330450 459380183 724198559 972873291 364300635 201829061 130633706 278053493 100720623 504034015 512653648 332593264 275553728 396597092 600549335 679947159 682800620 884772048 585399277 143300630 988842084 104935775 529153076 389105834 530361099 949109637 226381267 535090425 199972780 415950334 338402847 152778871 932708285 285766707 839604905 818727292 476866695 271783963 744320987 672538953 793480962 370718796 672933829 994871258 792466469 768668112 998966165 272572733 293127220 899779430 929580509 184340444 805306275 771739174 934195384 480770201 320682419 421584707 377006838 805054230 766451104 670928339 866342256 375872006 827285032 855543550 709324715 705950338 301962935 743068787 129110698 949146283 706525816 699850193 979006283 685941691 224088556 511505998 588051321 815857461 171498169 712731742 242493020 936778736 513669679 310916370 149141955 796525832 932918874 376943394 379660023 559692790 390960065 834148538 443278603 931435796 483433239 166461500 565795701 538445747 471562401 832638382 663842387 673527637 316821920 220648878 632424465 299212437 483304888 792832444 533722026 758109819 988515214 185940194 701535677 907446557 455741523 130446838 444177369 765854925 196486640 264160144 334407601 188763446 173697885 270894015 104539316 380126624 858563811 560983070 953045667 227399296 569738065 369671246 933596609 919467571 805706226 351858154 592279163 437865602 663175756 801408257 744950821 181696118 299395863 145889917 419024429 586144308 774484505 411955448 579831782 385357790 776434141 161644341 180489312 888339033 196918749 604119321 134793601 884504584 763317516 727844771 598854056 409624778 203822615 537685324 456711804 232465425 801146818 559780906 696102365 779190882 173489021 414307317 578867851 906779678 377167085 904291638 808357747 649755050 736412177 358449526 172442908 173135705 510782474 792777573 132808913 123701501 494143720 486393037 163999827 526431045 408793913 175521525 184133529 229154111 808815505 884808074 931303291 978776239 847697447 985070144 942186371 307196176 923629420 505752297 629060670 925103872 700689580 183914186 549930168 254012257 391567513 769749522 405935101 465965508 492209549 812455223 689251706 267097467 436623003 814354748 953467302 859542802 610584259 796182306 609233081 968025997 180559257 355477449 149083364 283380692 987540220 775530358 936100091 127340091 813808924 141929842 854737003 642889916 446010410 530396481 511454974 410870204 181925231 907602388 774019142 235698976 180154915 227207559 593065368 472975440 832016878 746777713 679360546 375873664 669749494 350045681 105958964 582509583 963047549 222744161 221776893 114327040 381592944 623422367 579620263 228989405 214859566 292203974 345340903 386280394 380622539 159413428 725944009 208566599 893583136 953359092 536916306 589191941 699226036 734168755 512636258 686747671 663562739 716370808 271842687 820721961 622973254 333165607 406255493 804046284 483979188 527759885 373984856 207082833 351770048 849040655 261339570 270681554 151299745 546340300 307076163 205876728 739270453 488968140 229882993 440944084 552820832 469158354 506197505 805937562 815625267 361301371 974499721 684349535 400822289 152048184 822263372 185261397 987485165 551748990 471602286 808424205 937759728 444653453 556780004 565975823 226948694 134088571 735604496 476707988 352033852 708719931 744621448 613581519 972089587 104033648 225664325 253502133 349197879 204828183 575141247 164783003 803735863 156343075 251180954 163148736 744984360 927961025 894760925 865599873 259262758 471712001 572963045 681042105 723809963 123849218 528226788 997884870 141792050 499496732 537937586 401420099 138101897 504295716 720489312 819333120 658018591 131484473 973265463 685438999 559153738 851381876 647764092 696311440 847784558 232889551 529506336 810597876 583803416 316789171 471433749 252635818 799840450 379002581 968653154 612871392 515195646 964730471 642916547 472870792 965239598 713984076 304963209 685201509 248188155 111964761 284413396 548543375 911851371 664027774 172463154 414600542 386482238 770328586 660315756 406427377 649138129 724461657 442635607 145121338 529214641 711608496 218997505 912073577 283735471 595130349 565637517 835451769 129509922 704701071 221596290 610294706 994746586 236575242 553497793 603127486 566659895 931366063 261423795 940427256 528671320 682430150 738211135 947194238 674763037 670054667 747816718 168650929 529069047 227035529 399591420 344478762 394681471 307898879 602136237 290203590 639890417 849832717 603256597 371109956 169961817 385990434 119846814 318492315 474260026 721331479 564797726 899326495 927742629 945723044 485441238 457376030 456777471 228295974 323941760 831716030 197813784 872364060 882652298 868282866 943839268 243870048 259554049 533148865 547182569 109487721 454089194 798124767 864596448 252790322 590086943 301704403 917215235 155606303 503470435 768825981 650851507 886556088 958167998 144180510 525805693 747553794 178866431 677428471 601408169 581304598 707834838 314538444 568990226 259766448 635728156 851682701 319286148 983468794 490484124 440162928 112477420 220273951 574078112 561339145 393580977 960157368 846956664 743281323 816220712 691052343 243158364 319157817 983453494 225760603 107407199 203888095 842323362 480557044 379562140 681135500 118246944 580459033 831566789 488340171 132464090 777695496 567292821 171913645 875522765 502406659 852657031 559745688 740235214 517220760 149046840 113690273 859499025 833457114 661281766 652326548 780398027 664979886 418971633 400245373 108731833 309444169 313313100 805075099 580597729 148322924 503066208 618895290 794637670 650547172 996295500 658208481 947287596 311267025 577301535 130332957 559245637 607221456 958111369 968815093 499262445 212986423 574772269 342274576 322933507 980876620 939321321 581116465 934752968 781419841 420767412 238865329 470778620 966966536 139809592 938860472 607890014 464704960 494288297 595861684 979145119 964854712 340191248 692347008 133726355 702944780 705577963 973012874 156790239 669699297 485205331 808579756 298440488 433223516 480258984 490718907 277558653 223572631 833072068 699893719 150228760 931095257 773636491 714739158 439312631 977059459 505480033 227745153 728027429 817164395 449810632 894289690 505032644 539850721 733595838 141259763 481761194 713851075 226269861 633057196 639635492 756307423 260097358 871393563 798952689 966389798 943468082 283512192 158631774 490846215 476222896 491277251 293434937 298560040 262390077 261148300 695180883 429219456 156924000 610749607 963169408 212935204 820837047 484056336 510860387 340916750 456204119 695492481 967152744 308858623 568590518 434809447 743333373 317867158 354303030 617277318 409708986 191025110 767662931 283162883 453638281 860459376 995879262 593394577 114501824 785413913 637969507 107964260 206296551 880093325 451328286 200963528 124458252 421411859 586547051 615536152 448138590 894885048 360447474 885788863 109965573 500048548 585384635 986568605 286647311 562801215 563421200 232433828 842212359 846940288 299793009 626973698 490203731 472039167 662512728 995117542 272748940 439473317 294260982 704295979 840304915 145416540 327545462 149726814 808811433 379603773 637362932 554936164 927438757 990707520 415303123 188503985 943337555 143070180 614059387 951048191 563301736 784413285 408997368 968278068 128392479 542291161 411146144 778717470 269624189 956126339 838538366 200051663 837736244 493910229 505527257 569307148 809876133 575902867 183981558 673633627 427032366 611637717 747478095 753909184 107118685 653589018 602251536 551372981 298370092 541063634 486282323 672217904 425442612 610074878 609462589 886755494 375921050 944172063 373092996 209226374 628412182 374743836 796820855 717564913 796326225 746023917 967167694 260983689 149693338 494826542 972559988 446155089 149449903 310628116 182938308 622872296 112269229 254618648 892457966 591514051 353116058 590620459 375393687 118221485 945916970 434363343 816499565 905984316 160809848 277525778 686963315 747341543 644285827 388428925 449093613 680656949 192095471 596352322 774237339 892071510 227342178 299524317 510735115 341742329 169984307 842255612 736186571 952948076 613346492 900450069 714390348 640224918 750043957 139586114 928890183 735382737 706039917 658909520 398424665 424240416 794792341 427005027 328768452 169741973 288851921 385910551 372628960 334987045 676211227 515853874 727704252 940308208 386073520 730376454 804449873 570465370 442547046 318473297 776406873 235403178 425392008 792434172 922836769 593690609 394626712 713616020 927526729 860478249 646983029 984825204 415236294 726817846 775659203 114925851 423645761 280987343 232769359 941901772 171231183 374219139 491034276 930385306 130821229 549988936 376649550 867625456 317986310 661274763 871096039 187566546 723604498 944054128 306768343 123709769 924737171 413588592 134822354 662011248 746095118 601109519 506765380 853376516 562139503 512014598 363879623 717500991 794510744 351018975 700809896 972290060 513496643 660870030 903519691 501779042 389524693 434510372 773041580 164778705 970557101 513639971 845209722 378766067 261719976 872181711 849139588 724063872 350102182 311922461 485652077 741635225 543071419 131298157 577500363 807389395 536053468 894063464 113254887 523388668 567047115 633984417 477747796 766793622 213965104 439899568 304743569 807315733 437522770 252324146 529035424 789519017 210739906 260330769 285950985 869422375 376277868 119520581 364517513 713108408 750303594 158937966 416368660 283229662 581958701 799776076 774861169 204758574 825633043 757035864 928888740 710767362 914905627 287087480 404508000 119337561 998544239 401821382 413833762 794058714 252994866 173802961 935770263 379615786 487179114 765175725 365240048 963744739 495041942 636207218 905133550 620802678 258955203 732378339 935598576 971501100 615452828 633367910 947755037 327148301 140169588 531406601 343584239 308262279 596514398 213096457 289537370 988528768 764704397 437003626 205414669 306375427 277821312 292495039 388858334 779628564 728779140 917564379 266367626 277828300 977193602 759370380 820216632 707679313 198312483 731159271 886198152 953699363 162593869 692100114 262061133 397807786 638394294 352264169 916524688 441751810 911446232 533450892 819602088 523924582 601159839 763101851 992581408 482911240 498228247 541591091 443169279 504505942 431330012 778354115 852591827 409053839 730724882 855876507 196444900 872125331 456830946 278880958 710991074 882474292 511959670 283851364 157600030 204167492 548892986 533120990 780577296 102228074 951223996 791988028 265023126 408555554 872123983 908452941 293126380 737613933 369875703 764468209 319485263 928617058 406678703 891748658 919586751 448656114 794305977 743095814 579045695 455958854 956030377 351498148 710494227 885295596 776308738 783883284 361341604 426545731 868963100 753970573 951865255 166713597 799879258 742044637 259451674 504975544 394728113 245266925 320677501 499723693 161272677 589692601 374832350 263345546 906961359 271915504 267071249 845265194 770879427 314548715 407940781 864053790 976900380 856394868 320998808 334473975 839965124 519544510 783533118 295247675 456411630 670398769 879349593 107586077 249456646 493898453 686453671 381583285 197287366 444027225 102776375 855639009 532745105 611279504 298621309 823989358 939648728 809105477 478421914 189656235 334763246 918032570 793202566 661053678 756611468 785245451 811077939 796001253 166166083 519648269 197956350 426582853 571051458 190749791 692007894 647144644 640529373 108204765 861286076 883010306 912643288 884173941 596553330 944338518 235659630 536154692 810143380 832967139 241002420 218564021 765137445 671634083 198195882 716569116 875160308 689793813 417198803 702750418 101132006 238730096 156513226 856636575 329470160 683893810 853302533 383336112 344586002 562727634 938921835 809212459 191868972 987087633 505407835 613886210 749345451 540711123 449129054 348490536 215552482 261105624 808596146 182804936 867031364 656242156 276176824 627749456 630878312 325752579 251104797 870880639 220360838 715411251 267936701 557874845 397935587 277895746 993606256 453577048 871710811 587398952 528929901 808845753 714818571 310911568 131180046 917427341 645016761 382798116 803296579 256064445 666579206 492862537 653438569 996215200 962193655 615510943 398001164 822664966 974972700 851758576 550965922 736787489 282117734 636572245 211304946 224231942 423511569 650590525 391998897 982607462 769696650 572426499 609071283 107576640 973895113 634438170 373129229 508576739 271986651 638024317 971849951 232463241 626475376 850614490 292537665 386748966 829155375 277125652 165066645 813722630 133515668 189080283 307598407 906271036 337051484 197297889 666908977 447133730 901602021 287573097 823318999 342023003 903362845 732159841 464349265 545948352 769931449 658123290 765533767 101904687 967549207 873079548 661179804 702600206 429077440 570671542 128187965 155571744 151512812 549939446 558578075 329515477 382458906 973335746 194041783 653821878 965459891 721262141 161317286 219455385 618665856 915940563 173895435 482887951 120414046 482448159 822844469 222923609 925385375 427719620 409030923 652324370 721202654 446937332 366839120 143832057 664909298 988029665 795589929 987064966 811014584 267258978 477572939 122042520 954111790 166653951 552653440 768924935 891650018 690639937 266936276 335099138 964671224 333276111 186175088 506665977 928410930 319266982 730733099 469916606 496661560 219735299 415112206 209267679 769744670 134194812 467384882 207530687 891819969 621724477 304485923 916011378 110792096 377854905 267959206 792355169 963121695 275747557 983081804 503707937 528719136 394346051 199068057 570793406 421463795 899322819 798165431 247992716 642101299 200152326 129358944 261730873 247903580 681401140 279110649 274888176 628896725 909927388 637821344 684145443 380752686 494086441 317846200 622474065 574726542 886869738 739584381 275268641 958318631 583478865 805677256 289398357 328493341 782007408 667000522 276430836 736439228 611885987 378723013 808476216 926641724 880188067 699705976 232853777 509158606 535910671 867335531 637280334 978306539 277335098 237583249 969343020 960508460 638126797 350067226 707522731 961717011 702736528 558841793 507270914 658411574 214227769 368493081 220780256 269324682 939366323 306742996 263003215 614364769 366686667 484095020 148709198 293398992 119052516 127027237 604695067 395813216 209567434 953628138 244983183 605992355 720400175 553825960 681020843 655727949 209481847 498362430 341992606 341740671 987326418 747565035 925606018 479395785 913129807 195947658 697886818 318096041 748388601 897613588 105005781 557402150 999237595 842808621 886014820 566057110 221212785 952251517 323913572 769512602 766118211 561130046 918866165 371213715 883484520 992961480 170015104 706142074 944574881 520802271 122806143 490062104 703216727 299218406 520635964 536123251 950602697 947355050 601118009 186996296 355355874 657745027 334131074 285922888 383378996 504802126 955536452 975216189 265856706 373143248 742083174 998306943 129970671 214762734 549894959 782664797 858489981 757974979 486338166 840132259 358565392 456491868 854305854 662467767 606954178 801851830 703525241 823966734 488764464 889647675 380982008 657120258 616224971 385109323 803367805 484389612 810384332 623282481 557107966 619117332 857601505 116189416 565564822 129914217 304702247 678312557 397820570 517153871 537291447 416376679 461968538 576981553 120986815 778420099 666969354 147589632 981951090 384138146 966389960 914254435 890643288 998169420 143727177 192227642 512769150 721624795 990355854 881460799 885971578 193718946 422578784 445798433 752119248 400152817 706877615 703118887 470288513 724763002 213005635 145468702 633821302 443015643 301525591 377172685 325777686 901570958 798392811 241036591 850676880 518169760 492621701 723867773 973775680 621987911 230192349 154655280 421997950 853470165 621528248 829621163 409758370 369449655 670094553 272354824 582785039 607609555 709057870 953132317 203890247 321051725 968441106 988662658 186480208 598823307 107698886 832572928 181668095 633494461 425901549 413165613 656877774 906960165 610801400 978102121 248509532 623846240 715810690 636829240 621407280 271361437 794493925 476700879 909126267 324735769 786869724 478363052 265822234 845370959 231433440 467182770 420197492 173965497 888129794 836132872 754232296 233016207 952518288 352886320 679456346 361084615 674697893 367765624 598625375 501612486 343006669 632215679 222755104 736235537 290186216 506647050 752263489 886690363 257234731 500937824 648899570 671471099 717970955 994496386 902513320 125737098 169398967 779461013 529346935 157159758 453966946 114726295 719464835 659084991 248526563 647574984 906455870 138756964 491559170 907450989 743110304 503891691 195955494 420771480 994167961 127613303 469540768 956088804 447639320 827102321 277361961 505104805 648908913 961394871 297936875 351380444 564940533 710618010 761146759 133644373 919528492 200069753 451500103 128949548 365432486 226351999 426284765 788727199 757963204 631412083 714203781 531127149 363997251 700070656 151576076 986497172 309156694 587192348 225514538 745773659 101933250 442219974 691843331 577362091 825867179 108282939 549277506 229050100 722634050 427289945 153462651 294143036 316105243 149055980 313662655 954412782 851198922 214988049 914407687 205421810 904409681 759973766 766744057 217236757 779802765 798803391 221297549 281954943 392672505 123356211 563487152 464462077 423764210 130143641 625106705 661423658 829162563 171509625 506306801 822105797 674055869 745090532 704249910 697356120 378492419 651632016 258424507 397444135 108485671 940143952 327960385 673661218 781872837 873068877 223947558 551770966 304070237 223883717 311805683 802707796 887812327 296873838 272334764 466201940 423997738 363754669 766308303 814754692 609422570 855353576 280691297 651186969 639498948 886491709 170456771 502453412 144628101 812227855 342563618 710665279 968941677 929491478 915919709 637101880 170119252 872362642 640438998 749221692 716698465 820675055 980536153 513327283 389914876 677850773 418198654 432208468 843926053 256374415 315354481 120900861 125690203 785248698 276796627 892450504 730976020 126680247 193501365 420222419 307272482 253909219 470223482 200277943 295494875 914911785 315444919 334217107 240476604 486616182 440573975 409586604 195887157 985345240 762271643 942675797 560551341 361468013 286931429 960715102 472287904 429155013 192267554 817517004 131364288 296198878 749448946 448333611 888134913 519002575 934871328 814149754 741379591 554736297 813035096 364048481 998353774 947365683 700541777 145016849 822985361 698923170 915820625 500162788 545651016 713935668 411815182 919154000 232151421 512589610 190685550 851262459 566514570 857333752 380929381 422591966 658589797 864837606 465401548 802644712 820606145 315025528 431701860 765322873 370403189 213789521 708958426 773081453 720615759 231121914 904934355 213904005 140375267 265712336 993299962 295552244 115421635 104808556 949991848 608999294 224371692 875643080 278861238 143495888 405050735 876782445 855922997 184608975 404126116 802149166 594468523 733965660 469530677 502424284 840162575 641413851 778498317 426686915 100157525 483438087 230684524 502949582 974936108 338656728 480975989 742881059 227408588 547810742 541457152 612820850 553994161 866703447 844792004 671554939 806389550 620759537 621697760 458179873 838242980 235136580 993579105 402527748 749236517 921518617 842497115 166130501 552630617 988646030 937291752 365882275 761034680 472543433 536118405 810260390 568737534 819650845 535071271 513660731 439265853 399288927 923804791 462563131 357263689 162796740 313071073 905352933 894702596 471402424 861487367 806949053 447328054 236234505 416969701 116395236 887089531 166256001 461173892 105263698 108925031 448449840 520838069 950046738 460066505 489586588 802413906 751419807 884463099 327885592 277049280 426018328 190860743 753983735 855743734 700632171 708814471 101691667 767024990 587439380 396086977 341973361 495997142 544041774 992072480 145487696 540538560 889921137 820073835 778974216 466776459 998585868 370042237 253359102 426531668 273967814 130477450 279861579 107941434 946201584 919125168 959687646 509167157 986019043 638494110 960909477 896064363 789465240 196376788 332090763 679095075 851330885 664370023 970232133 980426784 166340435 984875177 132767028 344692336 299656887 796719870 373862369 883523821 725262996 245691082 834704499 950527396 688345779 784780671 523999110 917783850 626874887 958697456 207391877 676275289 768063462 959630330 771077359 838046565 713492552 277425709 323742903 618988742 894713114 205699622 556197057 272743750 413070694 315928971 401072037 201682428 598114215 600738675 507768813 283494654 253205044 727739216 942947176 895133839 412316386 314167873 571547136 481688381 194663759 749888893 156684731 905652224 602114427 972213628 110074920 422449534 473797299 726762170 117287079 780562174 523070278 156219393 174576446 518300735 812684557 151068529 230456022 540715661 435158063 418848732 916012389 242296627 300538023 895993283 229006123 444583348 870984736 854203011 472891708 464090696 225206149 949506509 746493344 651997253 293173896 305334231 116394618 977020059 697299956 523727030 858468842 844910075 777642648 791384295 184597931 889937878 969376440 585103038 560087012 393812755 848574545 108827252 249271274 556627282 987889283 275705784 599094502 336370643 405193473 951638189 909706197 385504469 785101099 793097951 388737936 895379641 506231623 749566663 357827742 879083176 278713544 309820150 416962089 337095197 747235756 795848561 266877232 696561220 299551438 931078624 179844925 137656824 709524347 567409072 268406332 722451873 645979697 785994621 731724872 837050269 226532466 470817918 267161243 856752430 478831998 927691719 340287203 398297471 272922078 214017664 451940354 910597480 901794205 336057038 506590455 381450871 951609766 299524252 228941012 800835900 290800159 553929094 179054933 132517779 492907792 493233178 997174319 251738524 441919685 465951138 731719797 285280308 156577022 343396050 199298165 255334986 747837971 264138996 499403902 917899282 230729856 498042517 975533139 886996715 270782149 990741072 619696123 590884469 510649329 177360671 869636873 283950115 329027807 670153168 766379517 346625016 478250100 988867497 674788703 471215797 591107868 687758658 468173638 938526655 487279681 931823331 652014890 614616804 934536103 665285739 392870416 964245465 233953078 603303354 159128076 507561770 657641504 554131048 198890844 769475158 649086340 421834429 212197434 293477146 540429533 888454156 772808558 861764217 115859462 550919810 932693360 158512449 547472403 388658951 117671498 337816946 504760893 643286993 685001714 724632735 930993673 239778735 746821917 464104174 902148488 977944260 670439019 560301295 280796492 228169634 328031744 289334267 656330611 363585927 789130567 157839664 385291918 754406792 536295003 716256343 238880786 163100196 579697325 933504605 206407295 365841295 547894803 217259654 450427054 483958618 858295718 715892293 131682419 666292383 428128654 387769294 321478325 330650426 924782220 361432544 534895466 747381062 573704024 367690099 509843564 449014195 138529983 691532395 287902048 410402019 133416679 952440131 460098920 993742342 335732299 258400833 777637408 942113385 999998844 618775709 687023705 905884499 800336627 896939066 568255197 465624522 919158754 971768948 592706536 579407073 141005678 351299645 575405520 651615759 897153330 160747777 769848466 976038933 374216748 780016924 459819028 416352847 732989982 635590605 627806869 276422874 930084678 613264959 691608092 634047451 476524832 236120310 876054247 153446269 203483577 934325041 278124598 352841269 295115714 279055690 165119582 483034418 182921649 874664499 844070054 764750947 450823475 463659411 715047729 187142871 956060596 889727156 648810816 878617152 656071210 267275672 867177169 458258657 329394115 921990911 122327887 161842484 779586136 427658330 831013206 724246334 394726006 631257414 456715428 367110333 466326753 543425249 929889082 429105189 200864093 308722654 153153979 420938338 360397329 748575254 634301286 830369418 984935587 947105686 757442429 941610346 906263444 736471751 593867583 889865307 737886407 930580057 882966500 310536287 626321559 740659555 542100180 624808190 866878267 188168312 348551838 377725746 638481325 647083037 302041521 862725087 485564289 614677862 909321896 273151577 241537439 943280476 815425498 182588705 245123366 967160703 118002051 945821372 863843773 329467037 205791621 336047841 776425366 173449779 476937528 386686602 760992818 210877321 652338457 104020113 463662409 145306918 811853413 251547823 924695789 165511775 257635373 790374147 324080176 534835453 312632022 463248425 456314476 362312257 425980387 285681088 293509875 788787376 664547676 670578177 262988569 406113247 659117590 173070101 485123399 962879292 898556583 467616386 994974617 344581239 450091855 785151848 320142492 827861662 213928780 431486663 407331310 379540745 191670326 243189926 131063955 658072472 526157643 421179012 571035255 719622960 599413516 400825173 310851469 402499031 857478688 667249570 640534283 867466369 684476421 960286283 245409566 134461147 421353826 508870920 962666613 766184719 898309571 677588057 361425591 902447916 483328597 408248589 144576935 554239809 590942264 966436977 742397569 446401069 895461275 551348706 847972203 441944070 884825245 812107383 442501274 131491806 824937364 301661292 177148024 294531241 514113538 238513424 956274051 610557788 317660370 475610437 594334764 147994383 173539957 863478577 396177711 535050121 899480213 809234462 575705137 291798708 345034094 809954424 113509532 322947150 484566540 982225514 900813694 835706102 534215678 334689873 135026074 396982474 800577228 193433644 365492960 240240132 688380668 287291053 842063823 338719491 214823199 659406419 782537602 466755325 239743521 810297596 251002645 939722261 423507266 191619515 542026772 713076124 340925578 493941796 597463399 100791963 857448863 927090510 282563362 988336270 508158101 336649581 500893651 359737662 333565735 786737089 228890380 903875171 185265384 964063723 263507175 140114851 691906222 882469828 717737772 158913458 750875175 513302592 349586002 540459622 762628749 971962235 984736250 522822575 971606483 119986333 259198433 391907310 691875652 844536390 198351092 353829328 480422245 120780036 281455773 418362444 780609357 205930552 131370781 263757482 206680033 222182558 175908536 934330507 417254257 978015887 763690655 862511540 260375090 915781252 794746124 664844248 431623736 971612127 293407708 332039531 862085215 991105541 342726945 778259651 521738392 786397953 975856518 838121393 799456409 295654432 625630593 139938415 988415038 839037472 928111577 692757018 446773045 260978944 386015766 350571799 182047058 428995037 668618596 858456464 164838347 544997793 661949998 712850774 259492983 808711951 748031494 202622590 491620200 865413853 887752642 683892335 382713100 791201430 205284397 389344086 773705616 411684166 333481037 375411262 878404382 296936910 972356827 866544380 889108994 743039836 260891456 136261314 640617828 672895027 120773466 945366054 209952975 599067660 238348002 952869555 995491796 386621680 849657701 960381404 430897004 271481879 892561482 908046232 779783393 597592241 162492901 430493593 662464267 772892470 920902147 234796985 391568465 453401950 946926675 691920585 422552493 385269347 304561663 900713988 660208426 842373233 669371540 431235502 430760910 863499242 904223543 451730735 879360102 736319879 698864161 983497331 776325980 386817216 762038846 220925605 818152216 748675460 405154499 450411035 877118143 322196972 745823142 263410859 208760380 866307339 795098066 623931751 614110431 163443616 105668974 237730698 684971528 182878675 129756899 203977684 916885478 385348124 991055563 834672693 408950395 175734475 841570178 317122757 436820236 753672578 974113197 857238682 889792678 301513935 634666013 598844882 202642202 804336145 538392041 987603645 928600311 681613192 449835987 691920663 250805131 663736968 584651226 797191441 993513066 342508367 475243136 266205278 134141413 670731046 813744164 836322665 515939401 747937155 223820868 968772823 240552066 690001052 760624524 670122460 785708847 541983062 741533531 620170174 969749404 403102966 521696125 305362435 396630937 549567358 907313539 663936694 756608412 250423790 752662542 593653855 896920780 983770895 301189358 567688111 526992156 453121708 782929848 543189383 860520923 986609910 920125082 933815871 645414557 689816712 791243817 440607132 657672443 593443176 942845152 697575460 345366521 255424177 549356939 409538352 725485028 650344494 587863954 668857729 508424971 259667223 381161082 617903295 390170892 565755029 246311906 854507170 165772303 670007669 787995113 676840802 780429441 963201784 590240602 450531456 620542411 924433847 864855821 167872926 593730145 745966219 655950789 519355957 929220275 744402642 978578708 321086745 578674413 698281645 259577851 556593094 920829341 736199055 311705551 880430924 505167053 518663496 883924759 990720295 816947806 104021756 475257799 765866753 155786106 536094738 154008997 190721233 800964873 787395725 401543074 619147743 176808931 174347319 562722474 620445461 983471756 644041737 795300229 541011241 936124009 153145426 781779443 230620310 415929166 223278258 256088595 288857879 420682777 228259784 141250397 865154181 152731775 736713610 731798413 543329077 946056070 446186121 529911346 250821645 579264025 621326258 857652308 726099770 234610954 319183070 683960401 179255160 709897952 183571365 684965095 466504967 922528936 293345633 541765685 322936742 660430104 306681795 352253421 926714398 659214882 582960176 619376567 176738044 551989822 226910906 874445125 897490373 745654785 781224721 283115529 693667627 779909660 834142406 138735042 109920983 827688901 487883621 175428865 340654106 515580855 239090744 321618906 877020492 330249191 686968180 933261543 734006742 890132658 538789039 253635535 507180332 557345855 750870157 454829652 319163938 969522136 387753085 177792403 155269070 331320156 244228842 944350008 691933234 738573963 759278079 728886393 356064396 132713092 798521146 225569124 108501545 732351516 725812475 442886473 602738989 794962000 730009656 125633585 724712785 984226890 318250437 278844102 982509414 808762020 312504566 609639971 334023312 970717885 620484433 129159608 192257621 332467562 366669547 532338685 612157866 863646453 453245602 921161473 166392462 207240035 599116041 432130735 997343746 815429914 263716060 608146541 453279529 171638086 112404992 904738606 539203641 245597947 878770914 570735371 543513053 682664804 389076304 966287375 409085557 479880738 505383372 411941994 923587963 215791823 329593499 263712332 122885868 767876600 685329635 576007381 526226594 107105415 412965286 946758183 257897099 601551290 219015999 864546644 340424981 538533541 366399497 616247435 812868850 732858253 602527589 641510209 570071989 599739671 612346799 843755806 318991467 159451406 295321311 567181395 311572018 319944367 437647602 178996253 923682372 356254869 176657494 319105675 131259962 399286171 607152670 581890527 422886513 651896827 403941200 976084647 972328564 666132545 372012459 320389132 538901875 462784712 279859999 324377148 109663528 630409120 582007907 806751307 481269261 362639640 488839288 612218253 788764275 952101972 459229616 815668742 893185155 106502529 823597505 944372504 798044658 846298093 460008832 810779892 144594781 284607537 863946342 280007066 590611646 847128496 484928951 353504279 254142903 129907805 463398381 467873934 308468599 625812014 949904267 605817052 954488180 530821384 644187057 886338454 290039589 449109528 373348399 288028636 490579256 919346049 363517393 513702435 260636181 338085659 659091507 762701675 495334534 219993143 680146311 115441729 550575243 390979168 113668543 851390355 984408090 360478445 745606530 970154250 532637832 925018934 976589476 982721203 546879789 848126998 182346077 179141368 174830033 908075183 155140959 729231799 815715112 780355966 188942948 224390228 405141084 658190170 954273676 714908462 992554513 102254312 342255169 152254863 410625747 637963994 800935541 946532882 604719922 618582954 841903778 553805179 823736430 544924105 158187800 215954050 976508104 999302972 109931455 151372545 581334399 304873748 350650758 582426652 690003435 276993178 903278429 706873814 121793312 683819304 438247998 876949108 811377788 638833096 113790771 272111176 116416070 119613324 552361969 839499699 544302742 784447739 767104788 131255394 988988275 580050364 273333826 997022690 511012354 802966757 394296878 824509984 281705803 903884779 877792292 785053169 188992125 109949179 315084296 437145669 704200824 934262103 274102024 708988744 547314675 451605195 483680341 714707279 696407151 562350891 675972122 481800217 199939337 777231793 114711382 245466727 355617733 118430354 426235356 467085298 669141846 879561333 115906570 839203471 707168008 320587800 688785782 495556780 704332875 189712102 994623349 284096648 616968953 141865346 656041188 988275216 328352063 151531413 359383156 878136868 925528856 644791720 821816693 657793999 552611267 283353680 395646200 690674721 843994782 557335341 849421756 267256539 622138419 739665057 677942956 377057957 674908137 309268188 694007108 935901166 665090103 304890778 984439138 379664844 104186722 712792144 319865043 229836779 178115223 179335611 692506845 142814608 960598895 635887322 114825223 809014240 393199071 536644678 400545036 857862998 634419913 907888434 440671070 640739118 291441156 432918462 730760556 269848872 121733880 894213596 482858780 783402594 707395290 601304969 491579957 184830349 347810514 384102742 113029440 550570850 410481325 279429931 762690386 252337233 612147784 109584252 432800542 396294915 251188857 488140000 581928147 589530218 940995503 372011627 137042018 909495286 319423698 264252169 209034875 812719983 297638614 512053384 420931803 122482417 335014014 599910272 417105534 752353725 350537942 536841047 857450702 836061805 538861351 631253562 932590929 496696859 481040315 550772196 286566443 895001080 168421407 342040620 707530243 472459673 614088558 561034088 222331098 438771746 526011554 875010789 327123120 501738229 449059458 215036995 904248877 107884545 791655308 779818007 875852246 405590696 248071422 155393637 800163197 971818454 196426045 780558613 935696440 220782800 558540545 955670127 218541854 745189234 883607459 472422892 960324433 899896639 121989315 426895925 173563341 470754981 823610730 849841647 372021767 573457685 970179874 514199114 857529323 905159961 406789965 671782803 533727037 388787524 446248777 223576792 193599327 399101209 231015939 678536106 365815247 404740883 664135825 541227713 793680165 825504229 146410527 833587938 644180152 573934492 440930891 959799911 721253688 610806379 341527939 128840663 209618425 516861955 349379367 554298507 219831099 839512306 671091252 530708175 736335497 652929258 770913448 652973528 527596166 699340650 636635273 380527911 355172669 828760273 730054775 917548787 999245952 669213741 379830513 772941119 336215048 468140960 302245143 260502652 136508809 844440037 951413540 543911100 581856388 646300369 319011568 756578928 682772626 122763658 942717776 200140422 450582247 773838000 335690240 994468153 108572374 793402337 849088257 944065346 505364788 495695301 463151787 875682018 603180370 362542488 743510540 832002240 790075228 895818341 791721515 241895954 835479800 981295381 742457719 109576044 915364179 998260188 575864661 267019888 937769857 752599271 556880091 514943021 562653880 828681978 506504779 817835610 592261080 543758531 162823757 597312794 797652183 851561496 975168270 557666697 614342445 247886769 793465537 413164912 940714567 447017311 985871746 725258969 735541508 652011558 863034627 518626596 992630838 890030398 423152230 491687165 161176500 958461618 741740095 547239077 675051201 296697493 652781220 219346389 513662766 976638361 431532207 725560993 761143514 622628792 293464338 503612849 442077022 724903194 139530645 397007449 926980067 959174841 365660614 951555585 230552549 578511293 814549500 324071489 300170897 850500329 806520724 951640300 309193159 192309107 213328397 214844663 230561426 700020139 674731894 962995558 417499963 176134966 436941400 855871848 991153820 956397795 400896590 537294033 783897789 334318622 269411944 510953582 462265274 138204139 210131294 993233591 518417786 499170178 564465928 863402142 672158449 386233827 979302476 153440009 450679611 331493948 949181195 137725585 496847339 418302312 834352134 533052648 498961788 217524160 750354282 549806977 331006334 143145974 114075343 164757103 695569541 806690961 525162630 336545372 642823236 956673807 184146825 301477257 606616640 466264920 585796758 228575503 559171841 104956980 514085856 425925702 809359176 645460379 978951167 414233608 804791371 418752785 427699510 217553214 341569024 248551635 967219368 754744931 790041377 331014149 592220440 664920286 981922552 260590991 176457756 264907163 904048024 864006630 451420073 899876523 357141895 250562903 710465091 456153208 444286517 234237568 756700327 225225611 874499311 199448262 868935494 131443124 705166695 396743484 536845226 273291820 523792769 574003919 993105840 759379925 764477284 930076873 839379469 867702700 712201778 769914609 857911816 355171303 704727211 112576794 564533391 590170711 313361407 566311665 278888032 495705030 941289737 357039057 425819807 607112675 761766914 833911758 771976192 469305441 662790005 339875470 658715704 946820744 111176245 534241080 253936139 546618447 785687612 569691438 942853076 510496542 883439505 755130585 204746834 924067989 782973999 681526919 155936389 328065083 477154005 751014317 375108223 559713799 966582098 635083358 329341087 877857435 971580984 772152557 736048603 498165506 919804699 336111262 936885716 406968523 901735219 452161030 384239269 162219896 149226126 110255995 931122387 127088259 418705568 521122788 899449137 861711636 299015468 107072233 398118742 862346783 706678012 795479160 480684052 324830138 811402993 853267678 152719221 194402480 720874734 167164617 788188136 290326598 573156146 535463141 105168693 668493691 282778780 863261874 417180484 898715164 818912691 666532159 411171252 470104336 375846435 394558050 816677131 954141496 390675807 632683725 605776442 221171060 554348550 232081130 426022386 671784014 321142521 465535798 283509997 932314329 864218441 768556841 684265646 523702824 315366353 122070788 901934049 143254251 217020339 678951527 892640652 274140121 431420946 178315724 746195104 897177937 995336288 105542862 787017051 297528632 611580752 101408840 973952410 667799886 660399076 687696769 956335053 782709838 686872057 881934283 660169890 535558717 504347657 870600365 290159652 955876651 420173282 570130642 840861878 915391058 849797546 701439876 467404218 493867149 969342226 366233721 441294055 236034055 965999907 204411517 362847305 123847884 756372501 828563144 949979067 312877434 498546412 484408769 620578212 315560741 168946959 813281195 780674686 858086385 363962550 510872014 938842626 148231644 927120005 401978481 964795720 681229317 938199465 626583835 810418627 309135724 870456541 365284812 977466783 517951390 102333783 257377866 778541408 973997455 837695924 663405878 338246719 388021337 109886022 101303799 624965737 430526862 722563549 343151608 338975825 126428298 389322046 894717445 467838215 409364858 101204746 974663924 798644618 618703026 932297239 885567068 480031522 393255842 253124429 457750991 370139224 177350211 499714693 227645606 256289218 589344974 890456918 721121062 211304727 336764783 678403890 818193247 436280480 334979601 683755175 349284148 909558543 473871044 215907388 674866827 655350970 580537287 765142103 945720744 337738602 224878792 711681651 930646067 410764139 148608963 602672599 287710218 701579073 976291894 800175479 113699389 599250649 920901772 178655470 589859489 156892415 845885246 216822893 501094677 224119679 945944598 454338113 328271265 991209122 292260399 457921739 460772428 746455603 113910953 614821776 515272716 348025983 977692532 762387310 614059684 779280526 432829119 656452038 283156463 365528903 325444799 849093539 104049009 974868385 872820056 746185577 598774506 338264260 789051352 816502258 771941847 558824114 724154841 110316669 686320635 254065874 978143499 641102453 746749518 402423471 147961382 270597552 216141756 798620147 616013158 846380984 218343358 565548508 156087838 597634053 372790535 359286938 742288244 801300333 444990532 220464682 761168029 168613278 863047496 340018237 952015837 954240484 621884736 349040200 243934036 329091593 688005911 562806669 619075141 906969407 865405768 482343694 486440912 677199026 700145074 530974869 958839413 618819516 589118544 806088463 296483608 909246411 344571641 231793497 757706490 108791843 748055251 109078295 726405092 166369937 750344263 803284909 908736861 596054696 176415739 377632627 173369823 147466033 184634767 524049316 861093341 672702178 269285222 559498870 495922861 889146471 410826991 634447296 865160664 657204429 324319539 234554554 675195114 107127965 694328489 566848896 695947565 903154447 890344751 285706409 101496144 126683426 738660444 153703120 444292765 881851892 251309057 901639810 134857958 391231638 443595049 869304851 368282703 761377642 670402134 898357748 902617480 632679084 605334462 631020282 334547427 610836940 858512564 917130872 250537298 903204503 855217662 322237550 252877735 624784218 621952434 890879043 208839773 535000876 742067343 495898526 673265913 649411179 809959658 305285498 694237882 340485410 110848709 717825450 165014375 571186331 966453072 122425722 239040644 599333919 627974617 669793640 181760891 117152633 677358186 699347923 305934549 814482377 979285484 123460182 614722092 505340243 781424145 366255847 294678115 631045757 810819855 796891146 767241263 384130835 620902060 351463876 599205214 704959080 199944234 215366404 381237017 699434768 115929121 457211106 271574447 431835111 614991303 114460999 103594373 484504082 141465839 597287468 404818148 973619587 347521800 575316697 887095005 350744328 817174752 181753310 103194555 944070781 811359029 515076610 256989014 581415490 620531404 554854574 515742553 900603933 599877016 384690423 375312152 984597433 681426975 529474435 659479499 309608246 876708145 565342286 681822366 218632987 731401903 518032910 107692640 876978525 166968859 911823909 961412774 791159858 348215717 734107999 724819167 161734917 307392230 124721120 762241377 662297286 459453751 191621571 390592450 923717627 109845044 883634718 273823536 899396606 587761639 858565602 176973919 969925979 955386690 867717646 941456478 824757919 734037064 187305639 516142150 444520561 945474066 541924315 608246224 523280955 956954821 191479572 242031507 323892068 830656005 818576589 412104686 165669906 653140888 679462279 773693146 620218116 598638930 862648862 398342153 795132532 784582638 437121717 109574941 329799056 714303540 525795355 762656829 236800967 475488130 305593290 918989927 188715864 414411307 474589680 169345799 629289356 907284376 882674843 922710532 434861095 747624350 556812905 443437366 732510939 100739397 893164871 783406059 153912036 777802533 794145527 326192140 271079610 936306990 369699473 703619640 860303033 496811053 989667730 399829387 366770712 959416496 643212142 799074856 385329129 718881232 386240030 518043385 686946465 814872434 752641927 896483044 519231027 684528311 250228479 155387942 338826456 601699058 542656518 352535678 729648529 353612591 665716193 921422772 309200045 737817014 124379822 624999886 419260940 664638493 500722471 550898011 526578484 944538103 938697894 203471481 976078457 740083171 688109760 201255085 202168460 317578937 410983746 656936466 786459021 548697813 839029360 868991227 536058900 914816154 738959871 676180736 477888301 486720614 133542363 751006237 824512261 256721249 218695562 203300970 552734402 109280669 626270637 655822061 191416392 608534337 365151720 102594446 954070314 396406562 685502572 434008944 462511368 463599567 168047581 921067296 906457004 552101358 631094798 134034275 318157563 388058643 854864970 609283741 248764273 357651250 550014511 410427511 349028570 276593482 922012002 162618499 764137818 675927201 781651175 138426704 369245651 908086184 754243475 873138971 367284145 314550569 373452474 829802916 371270690 944275254 976127668 191858948 695844993 455096881 710226384 722778467 637549156 352910484 991611960 837689471 346672950 137335316 411007513 849121835 826314907 903178982 776334103 848221206 513773258 476053704 294750371 425400762 313398619 710588021 795131687 104580003 747821806 316719933 315006486 896711975 595584371 882585423 566657813 818456451 740134168 993479633 378620597 312388142 888508976 242130540 720535236 135460269 868903209 803760983 597871498 193032716 754717932 188605760 668463457 258570400 991829664 280705919 200565162 205979656 812547374 949221124 865777664 592904352 406429823 349105240 367431291 439828020 800083538 220690558 721305479 756942413 178777634 685424685 362462913 198434129 316896208 469824501 255604594 126595357 378587984 269867448 423881548 151398481 831947077 335312616 395750416 635551267 767940046 519517298 300717303 607927073 637907962 334841394 124554581 333114781 180776600 411718130 909819457 825169895 313269562 119217102 152557415 904046126 939697101 412791538 987351126 754437026 927585574 176268690 219129847 509772192 234415332 259108729 337069946 399774841 121940667 172588332 680513582 579393340 453289556 339545262 864950745 623845680 540519874 663003978 932599248 571974230 386160199 872876498 191705107 781397048 284426989 897127957 839135882 670362641 482547451 847848065 437293027 867879238 602366682 727763424 311924297 939470376 183738385 694565568 995769067 804674080 569977949 589493410 788119873 353273684 271506072 927872948 332908325 790711596 289111117 966561548 780345371 606268861 122698144 119242601 691692131 270653620 468928877 968614025 153125856 847012635 423150570 143061142 166660736 387305170 470844672 780107749 737921955 111177582 919450805 458684851 108673428 985631067 544731069 972340159 779387497 755221194 267686661 518915819 218760499 838594138 140312782 388939860 436995090 203355171 123380184 890089698 495163032 939882969 697592824 238396566 836855479 874555006 727912727 470640532 756433869 867295609 161012996 864834584 488712903 688633573 842074762 307527644 659983445 963526084 659612367 395351911 132119334 463807164 532369777 418979636 731910305 421819428 668736891 170485110 158822776 894839220 817344128 278016630 830398619 275847385 602696872 646782806 394345405 378724264 946422458 738318776 885066466 190332313 358087788 279849840 905767163 164975640 916187497 960732288 630439704 684245904 682629253 567005969 869921756 302639192 184195614 968998922 573934353 314132213 897655527 949657535 489045699 768407395 657071532 593959112 788549379 855240064 650105720 802098599 588392146 979954195 829075274 111042437 124265595 265275461 565118634 574465012 690483002 513666268 824821567 244101947 867833157 642569307 608507478 619966585 269366112 584948694 700113577 293055914 848396662 666602402 235690785 164826299 589766852 558751120 409204765 601930711 714388730 764403801 599412523 702958182 413366489 830317801 282556893 217789649 654049607 480250216 228550200 419932895 619215062 970971972 358465343 437305195 420482503 504725093 717016370 736471351 771331749 440854985 587151490 541813930 498877033 971487567 817908723 348152202 908518017 825125219 175507435 108471439 436798705 353372605 636791342 519122572 156618981 762209574 795255172 925688774 302341201 552276985 555816823 496758363 169147025 410851938 483358822 487747208 173995312 516730579 504758372 454564862 955693043 144476987 363022212 257336996 323091364 599083434 529788858 709906753 779557437 405042813 936763049 301695222 168386055 759420550 822418495 526911216 974831159 432596341 477994610 366141071 640997916 158824594 273001743 770715695 488751598 524781853 841762103 776544448 378886978 572692880 781477756 773703673 475071449 351711625 539160826 469128491 536432972 518248229 123082522 566480766 491238618 160811706 905932543 175940010 361158923 472371352 698089406 581197527 594956469 645809754 460731935 957786545 548290555 715358610 517672422 471196995 288084817 656308797 670650342 605608297 187790732 180508058 956905183 312142769 680298519 703285051 479199560 170640215 176853207 906510228 735099058 333665791 884930313 585934055 101146138 768913889 346099833 379103789 501689191 413967558 433111360 800452159 439149039 135381120 663469437 630954985 429912002 535032419 185462897 119280016 854687002 797745640 724163994 753047751 751438311 626912420 228654995 280383682 940163922 190174917 772986601 838395005 967057004 501060158 234828417 375326396 408100555 553771256 836137594 469095518 693837272 767955231 767697636 854828446 831813122 178898275 573680142 601295911 266011688 240369939 761424508 535429682 112721703 162409098 602022569 844388301 417389593 461111802 534846780 478235412 468931099 311487194 339414942 115314414 223052246 200635746 620886697 204931757 935674550 976707827 354030858 580131046 835504984 754490444 289692354 894431640 822839990 869193773 686282909 962382104 995737484 297691312 943014265 245296754 786064494 310546342 955488404 803390743 845083064 789453655 728468048 358986131 764759482 676883107 706010669 467035744 717125557 548570099 184568197 360475457 280981154 870270707 229204248 700015398 491398003 213500401 797802379 498100985 185027797 233407974 921249981 835856592 974935167 915090649 481705997 176080051 461038387 982366849 379103508 706099782 598850863 960497768 597666319 783494735 282681133 909023647 822063798 531271040 341323922 592058342 790984325 736481813 433453575 833215920 217844688 738970159 205672598 610139495 259645414 423360182 427902454 918006900 477726061 243181571 283507593 485083402 435784878 608642148 529712402 716824772 890328472 638317474 937025596 201207731 637266379 357597553 326676457 617854503 268248993 889549497 162253776 134567268 140831777 209598088 506247856 821409457 852442301 881324832 492498126 392412949 946063169 991603238 507233136 150108384 565861605 935415171 560789865 648682380 713767961 294687956 741924125 334817558 985303926 925347177 781685915 575762451 448244045 935187004 662782686 748398792 135140067 953840340 611650853 320154410 339088853 537583773 208032181 663639994 154575841 556432972 762549255 395217094 576755364 977639683 546811085 617933534 805570380 805110114 905919983 731430750 504081540 194298600 649712058 346275461 973907315 354102669 353397603 171883421 191708522 302082658 811442818 736910851 193712820 776812780 331780601 428553307 341831954 345831290 186455810 849864920 604933830 768231868 929869149 455323656 256970583 353793031 212287269 159574615 809138732 866489635 617143654 630363404 744470960 970978319 796944831 982961012 938169385 995064877 849822020 929100585 612713982 104345510 600571008 216029611 117252558 995819551 136914847 548224601 707555568 862033132 372496645 106312487 266991124 820415401 441815011 609938431 323489690 762069682 918956122 947752989 372672249 363416496 482047478 537220034 944267581 367970104 656819483 190432972 819658898 951932219 993277116 516117257 981521481 587159432 881540522 117052495 495294579 432742031 385098324 343523238 869501715 718150096 390081611 679044537 433346409 584775494 380539156 695484384 106130805 774458566 749407676 444461102 641229216 655427339 673470731 839401554 103022605 539357293 266380781 444223155 780653630 939386021 219860188 399786551 560049890 125046795 762467683 830520645 901274961 356525236 711330431 439394384 812592372 946772973 277648361 670753203 163016999 975975830 870802869 715892010 491208545 445418103 265994615 122950238 407955010 996231679 156039226 602849438 125086315 392253311 350500775 220843816 982185905 275380213 989302762 896487029 272131509 848029496 168391151 447651422 563410237 797394829 328801780 842420515 375228932 396232686 941956976 657973201 303339016 493527196 833031744 223152955 223273231 406579094 633489689 368492612 157604826 777860570 641366553 353597556 137416172 655133076 107174089 435996670 610710866 598065353 712176308 276776977 332832675 238472340 698993176 857355159 520326544 877571843 201611401 259266391 320743031 856808829 605541436 740321644 267551291 229511974 655828530 803463024 529887855 135155523 569913067 272827884 822240422 952603253 365117908 157996479 181647534 692858348 328742961 845149793 341081316 620471670 656992615 826486084 202408693 822741342 662412766 796530513 474562973 956933131 473068186 454058183 339268066 133200452 836183510 685628384 118335233 309833244 546750279 520545987 515956892 735927002 973119398 573707038 215790493 793456493 276714061 998406878 284706018 295588856 194979761 282472866 253499968 534989991 356452947 960232567 181498547 718446256 502698641 442120568 126445867 646627108 789283560 832425207 217189169 797898996 247445830 594246522 491142007 658823605 500137874 458780403 907154198 558774112 790176609 702420489 409573484 815235511 278411717 881341893 298073955 849993175 429989882 977238447 773985772 366951723 985554715 623225413 506544065 454016937 247617455 916795425 406258785 862521428 215029829 729901024 253009789 641904226 719981721 832592809 612235119 438592915 509111416 794441486 852316398 363661358 854045818 850506363 118387598 755603047 421242738 856975013 285878565 706826455 284403119 125430634 205698055 928710627 788320872 219153401 753570142 680268018 676817314 551538275 608942518 484561997 230168462 629991582 152790929 273086767 326128749 169540091 484787792 407501336 504029222 487675111 267319667 440073870 181676478 801354748 337251849 258950471 266503538 308254674 673497594 671545902 274800747 529730495 498496032 337544947 610540152 997615448 862597600 651991792 468810271 524700222 100275782 507466134 164159367 859986711 190109552 193270143 509709700 470422282 460428613 286948814 738771279 429679213 466943144 769722162 224581866 434899452 963972213 717891426 989104700 599505324 759608471 207943192 105164997 617621663 574781353 348028961 499054728 406446940 831008596 640725449 993573151 978044795 334476270 157442228 478494112 446634900 482192711 272156001 752134986 756688986 171459007 947766181 663423638 202480685 249356779 605268276 154967446 181353948 880827651 259897442 343366839 196187168 544313713 340726728 242261325 998851577 152183835 673066460 259636554 153160812 774014165 260435777 573148281 724403956 444556971 822779498 507063639 766211530 570832507 360460832 903356429 291746412 168649827 522371069 820976681 111467539 186996845 417106690 220136506 942902605 852698963 901512026 742210256 123113754 751604904 157252697 969284994 975373024 877944907 495682565 187673845 379782399 348188451 822648413 103991670 588159928 938593834 152338174 304465592 784269798 627513919 531267267 899122482 560016603 453530888 938831081 274643074 119553373 287370141 704664394 937957711 422677357 952946117 247052547 146733933 854841199 965275319 645785179 903882696 817034844 910892777 928462155 135386594 998301242 491456013 356650938 691683963 858644469 572983114 575624951 355726882 713119340 227395695 828838648 663637124 980696405 795984660 565593639 693764392 277331849 972661527 398613656 881915880 213498175 689078325 897081050 155021715 469579289 390542505 212674728 917673238 126955341 838771525 355188527 462616458 426724171 914052120 684725539 963562602 328243014 847982801 278874137 458360080 414347344 236208704 546025002 631875216 776723849 170365952 846275387 819811340 644520716 443292645 265238028 610982779 145401172 707674819 408324376 535912618 122104903 120506565 219892251 861679561 169917752 990439961 405729352 912206335 230008717 697799491 454096398 341416257 936177434 666221236 250636052 786342710 616761740 797056762 648640317 727804087 460197600 242173124 751802431 548460234 294503849 896688061 537638809 718712701 224456250 734426820 632413284 458140734 963646710 755609708 161873862 316771906 100137010 678813148 678747064 294916141 220438335 918090575 150844633 399860265 487959229 744539226 272230076 628359161 383234457 313385336 510982819 560332795 883590191 168866748 463248636 429719120 891207133 727964298 784046363 865391448 882573406 443003621 240501552 498869942 635655654 849137967 245317276 778111933 920300361 105274038 690595536 145020956 302762799 319902103 997352963 120003286 943363610 367017064 197458934 145644208 124814457 369531441 341836263 821315138 904210906 660174718 712331066 929424516 853306770 315046413 679836636 756601935 608156314 301230338 830606288 878315413 418782847 489074109 739660564 693529616 263967690 339046512 756943084 473406529 535137488 689755056 469728823 143238925 986281835 320123451 495766518 870966829 247789571 816446859 621093287 122209481 224527869 161435096 972035493 204553398 943548264 233352094 383907040 501362440 535920393 505173923 151877629 370556508 363879857 607921503 801823523 716568553 938311457 956531204 588166078 400381562 480399548 232178104 831725188 236080877 383602099 168627866 807514861 234376114 665798672 722793679 252499625 349442415 126085289 163601580 871876244 247720457 718206003 231469548 317627039 196074314 808092047 396981391 406080624 333153016 299090919 593650211 750370080 970852135 186036779 472208185 716338382 523045622 532881288 352459229 474949537 421545515 739614354 320120017 354568025 795934141 514042232 665350835 746442203 500242859 725649896 216755162 921893938 966697063 557866470 398645875 531974341 386966708 924691290 994282531 912198658 611345947 817837036 315444708 561156474 875964453 852082357 358945019 234816273 100429357 661998609 857546479 629200529 677636610 288917594 259934310 581673509 907417083 362497572 713858706 235840367 109012020 286242831 806360530 995718225 779307669 949461766 879623553 126397751 638497266 296244957 502269183 237762182 911865076 320034078 446993584 715881221 323882741 829716200 578971512 684517328 915103469 557992673 591127515 887551410 361793852 157858238 511362823 962739654 802885053 957670638 708982548 403125287 178851026 307888315 333926456 110374212 686014710 200375297 326204956 567527636 914447786 771183992 230654854 558768839 340080516 284906709 731395865 198182189 405961348 531443530 689017573 844281317 360973953 240316807 778721693 478281744 761705505 392316975 638382670 766654367 689000074 697827771 393277202 451939885 175356945 165710434 907911433 413651685 770197119 620502735 754351372 216103347 304439224 570704002 953049228 670531950 324586236 397180413 505653275 983650797 185157194 977741866 541817948 367925062 358770970 226962322 788372039 880721138 698800367 902846459 421415994 543781091 728285023 627829096 197736041 939976662 648910729 498680954 743411824 354572342 108341863 466903354 987161991 843028655 867043883 625878564 435185741 664600129 404750779 141129317 649275875 679267237 400505230 760281190 763808351 195559908 841565892 777348145 907036643 849032577 894984280 208382010 515866024 324728297 492211788 756622809 570754829 687807948 423368464 276531954 956520820 426567703 924579195 389905798 565575479 488873109 803972470 943541766 598126261 754354495 541305722 544620869 384713842 786349772 704841160 471270102 384448757 606470929 526068856 767505073 791664123 981237254 166792905 463903502 499160710 837867433 808405526 126089290 108871980 117959002 871475543 531043507 726087981 372449078 131896161 428912232 919167546 402336507 645825649 658472194 758931757 704256222 215164371 303431968 230269586 156290645 887506381 346572587 747291768 122746661 230620267 448412930 353372235 723593294 286746120 161883535 154524380 715036481 273022257 404574414 489662059 236296521 524891313 370628367 984570006 562886489 537071004 825453847 116011111 490510552 454997443 812095417 845019780 636039154 668278529 334533336 183053723 998395490 895770021 760174607 364120048 609830385 515565860 639037467 146030491 898910027 196052243 568534845 974206907 405227756 636734898 781623438 809786941 961663063 515854181 887281838 489406799 857564169 457826195 963662641 654053602 801911470 541174149 142651449 420463258 454127201 315177636 759794576 995957665 540302545 452950058 740136473 972134792 185908789 260537634 413760701 771018500 686489404 870645736 463241953 902544790 617898111 408247992 315394205 144255413 371310363 145365204 693575486 649649586 987866455 568850224 689185370 378780016 367025650 514736381 229017673 606206402 245591689 893164723 196775694 399768192 161811333 496413389 788671873 566382935 696950312 295489739 466324631 875147764 459779447 968017317 422381152 483004807 849000342 394817812 513495468 216671442 878582657 663213506 361005812 681413131 690214726 441459159 825118523 455185620 123981620 191366836 735509867 185406936 951688858 317670021 564940687 700997120 650618573 424790130 667455101 329781225 131475917 869116551 166239601 549561588 297337651 985087617 104218075 373703879 149905829 915904572 296224452 742569920 177147433 461772301 900425625 985557171 355004237 964804286 408398077 488193530 687013744 623320661 697967641 472876033 283741060 713419161 790067278 394756177 139278200 141455289 960339439 715243783 649477330 382166744 761886616 593530985 144068581 851911057 697049834 270868550 853086544 336381625 669717444 842304281 322608397 169919878 437999344 438539143 557186533 650609483 460467531 221791796 329118003 816099479 317779493 231688516 481854334 687639418 102251825 485472019 948117353 190851924 974211402 845759823 509209451 589987266 544712930 110699557 303635830 294654266 248194409 859556393 470031379 799869620 368230789 406890773 634850541 953070896 375431484 498013682 217649388 958308508 500682820 615537024 590051144 435661279 608809644 244524151 478471655 334861804 172139333 329929929 289245616 878289171 821014229 872937069 755819495 655242009 266229936 715895585 273710348 423441536 543254253 989820256 513896303 411968013 597023181 165152806 446702336 634261755 196190273 887727425 276438574 894722224 291090567 593014965 554679975 667733802 940647104 162851788 659845029 959351348 987971788 354158680 264580898 303233538 539181858 854194121 319423052 260870603 813099893 369682359 729043221 565064918 638935837 956999182 159015753 180201322 790183670 236745281 757056783 496836924 186577528 310628381 331629278 666315656 187816477 608628116 973046783 962631071 999904405 696123297 658205608 184592479 393397569 344523134 831775710 740325173 166799557 142325843 537859113 662457691 861740455 261586115 917654879 126115028 106635395 774651814 342596224 254234454 130628596 838834378 909003621 726490868 971422294 157721737 841641057 327345577 619493159 329007091 653844192 243413963 735368031 473301313 802820956 904336181 224607517 451035501 712757342 561778012 897441136 718504429 202061371 548486942 572339684 693870386 567868868 710144133 387766994 437847824 399513013 638277729 825782254 251188154 315409153 792620983 694063321 460714656 736568031 892958956 891452782 765672319 342916860 815028892 543734457 734430861 759460406 694839888 947695448 391644704 574779708 412260264 378565172 265920926 441960262 294988524 922980342 241878582 632549955 969905804 676506876 120161799 322018631 289416520 600409417 699172690 954524267 568714161 836118862 409834428 544931147 428427938 886563925 935112020 466059848 528277061 552744053 641391122 395724720 889975114 808237321 528006413 522286004 130845680 886756837 292371490 408330410 726995680 355982836 867278367 481488653 648578483 862678431 654340991 358584353 158355807 920766364 384716790 384296279 346972464 183950405 735466972 450751641 127745567 190003958 261275085 659848252 225007837 187135694 535341159 991517752 719357128 492712236 401969514 835698033 746473757 403615593 520521565 212151110 940618256 504242289 565961139 663015659 847928990 776513063 703786253 529417313 324181322 537034260 387582228 374408477 573448420 449956999 496981290 305554575 435811537 614910038 747615837 839150230 369137237 372737225 714897753 503173551 942841514 354021121 781077831 592748876 757638484 755319169 498902185 780087669 603281049 785620380 994904624 912687057 853612233 504847088 963700027 531060999 612595589 963278867 559852308 543100485 890211911 778951263 542236283 808704490 472394348 332533596 930739712 834990191 584530391 483392293 209504972 708053917 623855371 468601252 228428819 949157914 570111072 797850449 669288811 999710319 947080988 724698597 454951924 600526859 147902865 246297421 645010382 452738076 594247555 750529067 592699380 881043745 873938796 411716217 488241145 863600245 535289290 611886395 876508497 196187712 912286646 560974675 110316785 906658987 865473266 441464709 407841563 969956852 737470097 613168413 851708358 942778461 696566704 634726976 424985013 933953276 505148142 164688287 406917813 360371152 589449888 119441345 554687878 223041441 373072521 310409074 661733902 456431288 335548576 785949702 982533211 186887008 780442300 829741170 450500700 667951017 819049460 535394835 906420242 160286542 678244500 599772523 809539842 296087685 424112235 420349589 853289298 587168608 809182883 518991304 752786056 726920658 983884933 990738967 955088520 217270423 133592811 628253843 362742833 805438427 354142390 982357993 145939809 846731611 169042929 568297026 482339962 223400406 227981582 736826086 761853807 822612794 566942368 330612835 615493639 370481608 250532202 363859756 441704802 781953831 326273813 313720332 558481895 807066431 158934439 810466056 312350165 622970398 371855129 188825008 575318157 368763277 488357502 118701316 414332427 437994693 674364521 872374571 488459690 866943041 422447300 821472010 987257644 748741420 313864634 882713504 488794074 430873173 588111902 365155338 493974545 494649461 307785802 796674459 812834135 276884781 239959456 651056253 544955243 187750416 553064136 821713743 347394129 559483654 575983872 596777477 367554142 376283742 179090565 668684317 109328217 440063963 578238679 708560293 908189265 554625021 785603873 803246949 863913194 148272672 540019929 321758694 966146659 837299544 313203380 894960956 341666924 799567725 510706208 817935857 651159585 664727295 190102423 875837980 650744761 972590282 335854830 802954536 570130116 575392676 636215138 350529201 549477944 460471075 504941622 611013204 526648576 770798643 351629890 326436915 910277543 761629313 809212373 415645738 351775745 647533537 647998503 130590903 688969292 990712479 172853964 230811045 987404748 500301788 525457293 488059401 551129894 717775332 249394329 492706979 970504167 750842129 926876380 518820088 613115883 643233490 560202085 775687588 963098847 130268160 534535885 626713219 240160547 490700644 294015286 603403369 363723811 937235860 844012720 411934004 341754198 739472557 735983609 849675621 968260745 663640618 450207753 301598276 181447683 725075742 901982852 563436997 208536935 154638717 797762638 233613854 509995105 781783173 744839579 914150706 317390486 284935209 507400011 384938317 867547888 746319847 655941490 887134684 403437765 574640549 487286950 785368892 415435052 635442324 732557359 202218335 147493395 770928786 112738856 247747722 245629740 340531433 567536513 922011162 577889476 976913970 527010518 204630259 170822390 143440856 397009989 537161284 867765832 773704133 737895768 591162908 498177245 379741304 931097403 954217254 156745417 520557705 786798847 110814097 204674030 888705025 929220730 385016492 832755778 336938672 313668227 276731647 717683389 846101029 594862582 252898396 354477982 238421067 742305916 133173500 724457952 989576287 976804764 631188629 817411034 376890388 283652711 536365442 801600435 692082172 687208192 680405447 560755293 261720454 838347256 154088915 526119242 387262993 834371866 427374787 968656429 257818114 285844039 202987489 618145071 889069141 217052724 844996095 437523991 270840380 154208130 793786226 812973683 396746575 996889879 940466244 324482818 681672472 688317947 962602449 258206969 577110708 461013872 312228056 890412936 298863006 652955848 255510306 820029030 309774779 328114432 426644810 899023371 241702943 494376313 252701680 172035210 151562929 663450951 979172693 125681161 428680817 268392461 320262909 115349815 362861381 571427176 489353707 766513015 177488230 681223318 397287903 125427764 785742868 535774692 865784140 734640417 991335596 649097106 759007248 532167735 652340216 791160347 384145821 845765328 617871171 378229959 414474491 985239562 822221920 499592527 103940972 592588212 148628791 229865466 119500969 294253950 954310535 965319637 513614310 259167343 432001093 484615381 822748158 362726496 371485661 796519878 725064511 601920406 179308429 974062389 120253072 884784854 276915390 153710944 588156316 495573057 196071871 325441930 504331307 417257422 333140624 358953348 714038284 923460261 488990804 277846914 877295577 595399897 567561078 631111076 728420715 771425925 319070317 699050197 702813576 406666173 327492009 844782830 673321509 115840283 690779988 727207902 468453247 259336527 613660414 536802809 394402949 199260807 278334400 134118863 175676908 895943292 574177707 945004861 121892864 236385036 913479721 342312974 339239999 145856343 358809070 102799560 712436850 772260126 250902743 510972702 291432573 631201516 357517043 718172010 885532054 433019818 691322195 185254403 311623705 303043063 342305155 360478379 347833868 457741415 725707667 988757302 614951892 970473652 155887882 845388143 713695545 658449653 754618338 782954324 642132854 640585767 480440523 632010873 474621014 914414257 648285563 709510313 172083185 131286414 529650484 149297457 675314440 272781176 625115124 644461444 202685099 282616729 636759529 514224963 645254992 562455150 530910742 380253433 807772476 560591353 722628518 215040541 315007634 334216883 408039968 921774022 576604342 468294331 105623065 797636286 375914418 294279185 981600932 941347524 381934127 906750464 962443125 346183066 860226991 845967739 607431017 948681600 735501439 101610922 212353336 929467495 891982907 785174975 451323082 209288215 841897815 153763707 424830714 827599572 705844719 319704583 610263901 484423297 570097778 740233315 464317982 871099216 945645141 946088856 624059249 188360908 458944097 225049353 284021311 791903665 246291503 538870841 266395216 807474230 843825622 443356315 213085910 229050985 460274163 917709150 108422690 955937965 522316491 601722101 686362640 964665327 872666324 728091771 424410471 158689202 783998552 690436576 443910899 754709348 355167771 127406334 460139838 563204285 196667979 607796428 756950583 160675148 623560212 292725081 688174962 586553063 404371634 460768798 732499852 575395464 587764366 304345843 573857943 975748585 590415021 197040360 364357513 846347301 930393781 319391577 361414164 725038753 632670336 940576663 472519044 403868474 871874015 414522886 712458126 121446436 607279997 625710176 965689664 182190538 950567168 588560274 705658716 515108310 761749350 415355983 784308020 157862411 650646198 403964772 544448447 368143593 297976943 708456141 598823782 919324255 138444693 340775219 643230164 107319351 251114041 140536008 128484798 961916443 523869986 413833799 851785711 750921016 960832898 398342562 692230080 663092221 266617356 949105783 480076477 596734479 337672497 747343200 648403382 739806636 278032357 694663234 442251918 111656955 735690522 167165301 383264755 442024594 234296121 138277142 905496020 636253697 291495499 701065944 638431681 963408711 452883740 159615145 332780401 393203448 919986216 709129919 366320349 602183478 820806218 231330210 348591714 721435799 691194492 910750363 869027234 973483937 208832901 530762986 664329445 371499720 562956515 199011950 458856930 986304459 776683440 671606047 344437503 405621810 481941555 782029946 918954996 640245945 445193513 274246793 126137971 282184854 272708221 312908495 915493154 669638209 647078949 542440286 681861200 933914684 939184371 686534148 222112439 974544714 163855661 975775798 731282713 399491821 123575942 153799004 888999269 914042590 384645126 491724138 425289221 878295807 181980362 561915635 576956020 811754811 851584480 870572982 582240261 874788649 945670787 896708632 123875049 477921656 838616468 196266370 622387259 737789928 308775401 240971674 482052839 819565311 422088190 919076592 768418082 480033659 691858545 169675334 750737001 774611428 531774941 794340434 488589407 528526353 357161830 576055711 749431287 895500877 460916346 887787516 950863829 960173933 107858155 546559740 526781788 914979512 787216856 655627451 235842324 143404936 300480368 921703706 155297430 701513859 648230030 849956404 131398465 384671462 640638485 265216515 937228969 878340639 276403851 408857479 343053504 125092085 698919558 166358507 477440668 891510968 646069379 478247325 157271146 276080203 174722110 766021956 245467546 479480791 993359182 504263664 296294962 864258693 868181411 555653764 584349589 442828640 561564265 322765872 409915915 373877559 239710743 651107203 293362738 757135229 963262606 980858346 555191449 673236668 899540685 432348873 495120684 986950301 433205520 398789513 532334084 878073849 249297898 978292146 663490769 198459929 950153087 661660056 289108701 422551469 424884664 555208812 215487142 250058199 764692355 333623220 523075195 578780132 898234387 564484402 506953967 220185913 575695854 410277372 555378017 701271530 630142136 551805535 761390064 109699690 663638275 949872851 778210276 403986379 489229083 100544239 746769544 792827954 510763248 199170428 422157319 758058900 556359663 550541595 675597195 966098319 269389492 528673430 652957846 184292551 480644775 333701445 930465949 313761519 868346699 379253600 771661422 259075277 404471985 573687664 986569697 427174246 782121583 516872513 759308005 362942354 939719402 916143765 776554423 214419188 322758123 209097822 296526576 751054004 968080875 188857266 987191433 124482724 693142338 732647831 733349029 144592193 596352053 598299371 881448675 242793451 245736913 740279195 614500266 413658779 483950609 175580596 589323797 623961065 151324992 819359054 145454049 665671722 257119978 870366198 672138816 809501575 448616009 485140509 776642105 487089439 394937456 711705328 285951511 815138797 747397735 961429756 488783192 208889130 811723722 274219795 301488191 921428401 480202770 244501782 153588323 817817729 843428272 153114214 337929094 718490564 504167340 748463497 823438296 423952566 273701448 798797018 236651757 505845692 658986390 416708081 973791074 884126513 945043439 623581109 971799047 856530920 823308790 391701521 658948770 319429135 928991477 414863684 859400170 995715884 398262486 765074395 624723183 349467580 740969879 182468806 201457048 394554069 609444729 555314911 916121109 227143034 399109489 666066243 420478855 462339507 273775730 415864378 718151439 251458998 857595871 802565312 718653773 307159463 494255987 165722853 455486998 433055386 798583174 992505412 712834300 939527385 569082030 622381320 787603255 255105142 339798095 151679136 958092274 435351473 901278864 340733443 319967211 832284908 871241374 876019013 931000369 785427921 422036587 408889059 685329799 979334991 687296076 950319184 736771516 228364950 633790379 352115019 593807007 405216418 429428489 856319685 166899709 286583077 965230131 164371866 578439688 196930727 371144024 732380001 316046445 231047830 399001756 383203330 393131077 639809801 371220235 449985559 676984397 388066703 947797016 137330752 142500859 690470336 464208645 227161369 751480368 673794836 247624711 359125271 187491278 188642469 218766688 769604284 854797124 337539453 560483269 849146854 923938901 255599190 717730521 509208932 928910280 595345208 400926205 965795742 927493539 466266412 432009102 152875633 267533298 559665106 891659905 458808324 715556367 756834879 243258504 453592728 619398559 561070546 464035389 300471119 744056055 496873200 274419060 130954006 316225724 374262894 474280006 459795107 711013471 188133730 836388641 298093320 610709009 827296014 981821477 888217939 293730995 594037457 554587723 735393803 640553031 768055982 968714317 396911208 764714590 884017165 529210349 403908959 723094486 626751523 991466045 974102055 528711655 207141024 159345418 468467227 218626377 985845573 295892073 174160016 968190730 304787150 908967011 373652274 677620460 851558488 797098604 428238847 281154913 216525689 871998454 849242728 712852386 903449126 297806896 576880243 363735513 957203374 435504897 236818606 788784481 956216066 999967140 498573794 190768021 759199848 246113634 886532274 319387297 777496917 179277844 482053712 398470675 389349011 850576388 488686288 396779592 756526385 753121668 701033447 448639474 117340857 624812518 107191099 555530722 402909915 313579098 382541557 470048732 422787500 292139345 691710708 692682273 692405786 781177226 411214613 760345808 783022540 955597704 203050171 135136171 572122204 124990908 438301478 704172214 958907918 155116922 258562923 732203564 680327739 592087994 472936280 746985261 920967322 524350177 420408610 797158801 370252177 659683908 122533057 221444447 163720813 164591350 893759853 837986198 964603380 332417569 175406402 868169829 509973283 125819173 312045382 187645142 271541960 640907649 211776200 577528552 431077071 695358657 679880753 395973946 589665109 638278952 455288567 638824928 429589001 218907290 987904411 132915587 839298596 345391220 196954333 365490796 806833970 264830837 655575947 214310264 833608600 915947180 907844179 448892244 195921231 218071276 701206607 909177617 487917407 251300208 499284178 639905326 800057233 711484976 609096093 145314608 101869026 577081717 680585072 916779906 949796004 789549424 191322220 698675899 412003052 805853785 189205582 221345293 893879991 442702755 545079452 538239844 597630678 901593205 163308635 636448701 290150336 144672956 164098375 215934471 576674965 915301546 538921717 321504859 661222930 845298997 133891726 216298121 959054936 183486920 886982037 309747845 436443132 534091564 682001106 996447882 745295189 566876649 841877207 347532469 803505614 993807534 244611291 845336671 883207571 505803063 285986124 322813369 711554606 787912939 221908832 614127100 819084515 883650465 328267413 734333347 381326982 795816254 635879776 834541861 964925363 810726939 875515764 762699011 990540675 173029701 676119988 873465948 671449599 895090252 740900997 146017829 562727492 130780434 889238581 843514466 817349317 261816073 350426724 791338565 497389670 215360662 759344973 666112719 596271299 642769109 216782192 408467468 815398973 903448778 792615578 618646112 211254797 316118517 557003912 251127780 452436415 181569437 673256718 965857723 148077409 307664837 867379264 292002017 796345278 870215451 995695713 572370514 717354215 727316769 968296085 491433634 889184055 820942023 261129154 673582060 100510529 497397766 203045031 795289890 269916216 527352626 381387948 264900898 567019799 415198325 723159645 833307813 279924996 764912425 388662913 709934081 152883034 953128706 257675538 994557131 679505219 860928474 576252775 178792462 765230376 782524590 713409636 193936774 534195510 129736002 343587857 818082240 193692274 185301832 326426757 999449392 535249251 610584198 551763032 548069058 872686777 620286034 574941480 531792782 232844410 510487871 107500883 256386082 499951324 103229976 152588676 443519853 381354297 300728037 928121202 662671668 130462671 688623180 708381037 863515725 964710198 236395390 148132007 540374303 562807379 639326893 125167177 567025683 830980162 631835331 365429266 365382517 859610405 829222084 349099294 313589602 918710914 434522624 145036519 331552688 804712333 423340019 815181044 254203928 243116771 848377809 455486250 662924816 670046716 430041388 714776823 678361729 197974485 109117680 270944379 677824746 514090203 749777750 997403728 415910136 866642963 426497792 516413284 129914967 769135544 217334332 835633034 330571765 879216881 809835364 991537048 421770848 719156744 468522208 303536770 768550017 734191419 662875847 762742802 372284784 527195344 467024129 960752750 870016299 785647282 162191693 837432154 960063736 977728565 198555440 804615038 490221543 928927611 779009444 131389440 340190581 206022066 320793718 531879943 134155294 908701323 591926453 863224219 237020901 639063156 529121201 530153653 606073434 683309677 665017946 205244190 631386827 498421821 398493117 942199087 941962102 267988562 856138317 508652129 937037458 267880579 942492824 295419771 749698943 150108123 779596593 445704410 321228749 536312869 167739509 299508710 291274775 148434969 265700409 937832878 360352475 457066152 186597464 148596980 746784536 668005116 620491374 120898314 268795038 140410377 844087744 684403358 118689423 879497227 512420162 558517803 965426640 124614418 975032827 200157333 379826573 869356814 711238045 531604770 321694016 868676761 889076701 280623220 629704451 440768638 583998855 765230430 724671786 763648322 970285034 873356002 258452810 432530189 797131744 726282906 619525849 717694819 476380660 210998530 677483822 636848685 417511945 241819643 349419339 438624131 543967270 156588066 585910013 272079219 748570477 921556825 230503520 492887548 507061402 215598098 995498479 333833135 380197091 616593630 301802470 528126388 781450388 781246470 367183656 889015138 860836684 220700412 969281476 348310833 356421730 590976527 572301605 895685524 790691745 448169983 242676489 820333789 286848502 972276854 731540646 838785239 694176014 425583048 863462613 337205936 848376432 687100522 991699928 536890180 955961072 182961784 803610700 126807621 724537278 695212432 963349079 921389683 756883183 341582703 115235935 974736785 714002502 700226015 105092933 692434996 692041027 584018353 628640119 592039379 711498411 348015128 222534329 601899873 979765788 280194348 762119143 677388592 975732884 713488452 543945096 589354456 201631203 120206557 439667203 699915493 762524914 212893163 164754077 524525405 820113666 486021763 786684342 326168665 542489596 688327360 364426018 665421827 829295015 818010861 116263639 409717719 697294164 712286411 667904380 155475755 281887784 500229229 321486479 561872947 733142830 603723589 799637071 976609101 430798224 252967280 480066941 647548986 970304476 793456815 778852353 434945002 445084855 610365711 742582407 489111501 805876742 928445605 413432872 727707685 291831984 360350496 518041862 393950113 924524412 702425801 220407219 443824162 717351468 392108208 107826069 839814029 148427700 523228380 442774062 518432351 463556679 369221613 446363855 396745724 102480408 913331743 721245059 839696354 487291495 940858351 719736967 127391776 796765189 518628143 429636073 933570426 718087686 415467410 534850148 785058879 930308589 254894203 127754715 348297565 729465602 361104833 325529061 753695320 197518751 134427079 157445113 189020025 794031573 231631243 697275900 678790347 331199908 763931296 952383568 347772343 596085395 124011166 453607668 986497899 390710969 667752397 950631988 434244585 592215339 355620278 153379029 168970856 383319550 222115672 727139218 216254374 934238855 882337572 119451337 413485704 829374474 650635977 279888249 700828348 450270169 532953947 460707189 414130280 469386078 196870845 761942322 886164989 296217221 236516642 791994761 801149528 361565954 757288047 991032189 268461099 335937361 754538814 919705378 861823954 957555520 580604277 233199387 679661758 844601102 530172524 343696500 779534304 690046826 960303777 991456202 985814658 594818896 396498143 153202083 974558557 271337600 965130205 790772880 572487818 126891309 115040532 280961231 253894768 481945226 469884060 305999320 847280984 899069590 240068571 256131631 655235262 596171584 256664311 389107585 469267030 513849511 615466246 811999795 801525893 739434584 918508472 384570124 252115843 636943095 343978059 919655074 911145771 248274152 531417687 208342697 660254028 682596897 823118992 321913609 771887846 774245981 608868409 468653073 237224663 940481870 101923674 983980984 503185785 644164245 191877800 608515086 233272533 653734072 362640521 900636991 800173184 251289089 722350534 826691627 211830613 355989779 543640345 258623303 329242829 265383281 616742921 743928864 725017587 757644532 745272991 366486453 287764491 905256470 693884322 769660746 475750795 899594502 353571324 714447339 373146997 919990138 123537765 682348671 264227471 562356659 722111048 172065373 470494382 406383459 705903104 827002725 477610202 210575524 250578008 392681595 200112230 207388126 414539843 262953819 194580706 449767497 374862013 582486019 186020475 516317835 704827315 206986823 222188492 273131853 784175832 994275854 412009009 532326732 810500810 111892974 517353383 850043789 158630178 904952391 410800704 629271814 957168902 758115351 512949155 128200166 992086848 909936165 106837620 998102810 549753829 578774487 389014839 795319039 534187732 379796721 182537925 117107325 316640048 553385926 180626541 360629535 958089770 246635208 341775264 998986284 331096181 167538184 810693049 462562378 681191423 556598415 640345826 289245710 831958696 896484693 737262065 661729924 874230319 511593787 878463595 246174104 444117496 982099603 145009709 882212966 874691319 397281359 137214795 480122275 342423630 506616957 636473736 497373527 687377737 500076003 350726319 563327131 278432713 619861545 688380939 271314642 510316135 374735912 400772172 658049936 756476320 420335571 781234494 726683156 377710280 465819124 560342566 514282299 653106147 973358561 358272006 835896865 735838897 719348396 514086585 343425675 352408115 802579825 623539403 727448593 257197285 481730965 273944348 446817216 914017082 789135352 351437262 260975494 939079482 521547269 542738385 528215257 302138027 880820416 960500902 191839376 872119597 988254657 330421921 156396845 642903009 557616024 998912057 189653344 751554106 403562752 601366204 562867632 209276579 486962477 796648421 615344007 484427114 516902818 218225983 989882694 990601975 840353778 106289691 158369723 667823196 271191562 543666304 448365184 399325994 390606456 378667633 613770499 901021229 773092152 718814909 699320830 120321121 463322546 759700950 541480062 660256375 816994509 394451035 890393621 975069354 135311693 586278650 544991236 700031811 954738939 393382804 860379631 622903325 712161138 445545100 429825410 584109822 141133281 246319532 555444290 442475987 314338807 959903445 945302495 883380905 739367209 180273317 364022764 514075044 627612647 865221952 428697444 934877637 730502106 158125836 570457267 410552906 629263934 170072882 495691818 677421738 507354654 479793524 491588609 778628208 949108530 808954387 675548374 551791692 920691082 762555360 422844911 644918259 573251004 771743932 684041694 849799021 368265995 654092095 498056539 900019442 359623587 671657267 882451033 367010826 556184109 505739649 397848359 451102093 107360767 194902329 992307854 683795794 886022216 529059343 358588810 374804514 746505947 220791190 466134197 503685610 867863777 141373354 223657441 250100990 682823826 627835202 218343596 474588458 246387931 877669420 371280772 620404268 671437222 646192095 517489388 386789117 206460883 983163550 506218911 231958821 286546665 326246897 726179487 795780855 507720157 250583899 646897763 469158243 387262734 842608033 657899231 974456311 749147061 688214292 417102477 856683827 316308436 485125865 354982110 492978718 107259414 797187297 735343663 998321698 401962826 402756590 657950081 572270021 324914257 146343543 255103857 325055188 654825492 102455771 628577584 444916104 707638622 405993349 361319876 372743862 490292517 429642803 650249681 922384325 718506871 350385073 863410250 396012260 709112467 329611222 419375084 217369373 749360899 137357152 788856694 495643591 790895138 424069268 576738451 920090604 101177882 882488131 374632631 453381000 676180275 296947625 398932118 503024165 384133661 710465056 340428946 173895537 634910548 627012545 403390308 131981129 616485539 237560209 984263505 459866190 950940021 618415369 994045202 188560609 846341297 677220872 311267042 951905736 529662089 309822068 244620411 152850737 431623752 438020344 799745601 385544393 597502092 782886024 101968484 206461526 717844663 772890933 996339174 374818478 647222117 267960999 234852111 967577288 650377711 651021221 260201117 806273823 915413362 627229940 892955737 804449779 569252050 851295202 303217146 146551787 909869898 776215239 666048397 572015164 311367211 164579451 458819618 778855702 809695365 814784236 494411366 663521867 925511507 387866947 873378984 464486843 123416833 700221214 628238675 438707777 309959158 388611102 129842750 497353083 664234553 366030108 470878261 994147292 172324214 877700724 830133130 340095702 271496289 111552793 708949056 539307475 805467782 914022237 292714269 839762187 639957513 947437366 265082368 293812042 707808344 992955446 365076186 774917031 745150730 806871098 843748918 496716325 929488078 937919033 734964529 774103540 290325888 345818442 908520050 333853233 196651089 416666906 923425759 157322239 593974940 295082510 984264189 310584409 843966030 852227592 632129446 999882676 413987312 183024434 356598602 504256602 231455649 297483006 595617654 181229981 632310559 562066556 590868748 881534427 118504603 252241152 329439706 889187674 141019295 725462370 380903884 163235781 646626121 738196516 597712777 910973580 943662458 466586441 338984954 744771063 497014034 516114319 339160115 648901058 212586697 968008325 534940349 645949579 949135938 231638705 997675877 710629237 168910209 535973192 303592795 705143769 423482705 154556918 316150295 679023149 195699493 620601067 933909945 342772049 135511215 519352437 266768581 488879473 497020448 956488889 229457536 261795660 824168986 487211491 765725617 643973157 514564007 109116385 832428165 259513868 852135804 417534491 571082781 504479761 643411905 482796037 317045709 595600746 427607715 587500615 353550043 661307690 879654214 769510693 227841467 434071809 423469708 311473190 651407371 462096841 289285048 290648447 965193336 334048953 825086344 100904696 170587629 896078664 253685189 245902562 810733308 316029164 791841019 310194259 958655438 847067441 421119553 614966620 548462831 522384563 277925510 411578768 643451530 854783417 746023835 379994749 836475153 280901992 198812526 441012562 627629931 506165817 881840302 783335658 413196609 383854434 913250743 350651542 570468564 226346401 846406865 389613355 148046161 451599685 599427809 589892750 560301733 823371429 404326003 275725168 717625973 876853269 291732133 707846426 903840089 749974159 953596916 670812013 838675721 672411429 366430307 929836730 534157379 144927198 378313761 339647361 704168018 445080876 554226050 881780375 843173968 715176451 422937748 823191682 480753266 164090799 706155395 631062686 834458510 533174403 587607425 667187568 217806101 182044847 677487705 445102592 996895139 938710432 534764768 942627369 846162673 553625364 385225080 163489952 961189018 196116309 158999093 832183676 182575537 380017151 838283209 814634061 947589447 989587389 823949738 830526309 349895177 275138490 831336485 836097900 276896221 560380240 874156081 710107642 433444604 273205303 774955113 666642662 262744991 169696567 889240844 693827304 602812580 523971225 507695200 158786924 861865724 270711801 993498362 771364737 458978111 694066376 693037857 157396475 309049911 755660897 827332864 182837490 274242310 192859575 304908013 954282782 561315677 323977244 438108265 374698618 989385745 898627409 930747484 643558285 731941168 525330923 677627744 922115890 824868943 157012823 963908591 277821738 258880447 308015199 473942073 769664566 135659249 224325834 830088900 317170013 360669904 701014564 255797517 503604255 728573072 836254525 892254611 374884847 895267344 858623796 831914734 229881103 660825571 119960218 686138932 960287236 978240975 286612192 327480214 314717837 852572424 370359263 944480694 230062966 176798664 739321857 381888196 972392387 191524616 783751141 266995315 484983508 759258492 959443591 946268751 482114435 784175762 697091959 171789734 862384867 870087272 253168485 776209858 888099606 390768726 884752925 386361095 484213973 420190676 617647346 941620879 353904124 551588930 546923671 636875658 970438773 955702437 236618726 207269798 186248633 708561356 109025602 337860042 682448110 319338688 643939247 440389534 133287184 870404564 455071771 626828372 963465003 984242464 889771528 231127374 838269827 965851460 884501853 526151366 290001274 623132091 838766631 554602381 109850073 691804243 464875207 790531639 332077135 299811550 377358374 357833932 916341533 299275542 578735116 689694348 948344589 669772917 682336886 477221866 629497113 203636136 314097198 399207188 364370627 584304451 307239042 550491686 716961290 176814629 638462289 546229487 650047861 724846242 874555366 373597058 168669499 313074253 322827434 445851088 650380230 933667437 600943988 137478200 256382806 137457980 838828501 893827438 430645655 900126037 526273920 451552920 208445700 421661198 688344745 425249047 602581763 774022260 372718404 324139918 598705271 726146977 743531423 561846300 953437930 501882102 600979671 118935228 864431388 278030311 523670231 883779039 398042846 826039660 220421780 364175666 432216855 889551296 540097503 829450897 558731370 518493364 657744652 832962268 679372994 618400068 887006616 411514843 818316469 912656632 831835757 795959041 847772833 169907201 874360855 778188621 138284459 624293425 796971071 111114965 195926067 955682113 712478602 505192537 423875494 104224146 178517103 193633232 542891940 699572974 717140196 262831189 354816063 131612763 401987889 202417793 259268538 929169722 391874615 555697330 731699555 215090640 735024922 677214227 373281223 757941164 304146354 722857627 673448934 314557104 154699245 247018242 866845953 723070232 644520223 732806868 242877841 751960409 663633333 168659986 229702302 786456051 615802999 725095161 772414685 108828442 739800720 609703226 852295519 180846853 733120223 362607193 107085900 184289810 220238851 443629422 839408190 607524233 571412764 112426546 678441549 827922437 216784744 724150519 585075898 306229659 380901744 724269419 619629966 472200130 896533124 895530354 657969910 881300089 266285643 683655314 447726617 261476806 433246064 245315080 403477498 418599168 445168273 380990723 600759152 650571334 673404434 391355050 584920017 540025687 397727274 865891276 584283864 837318749 907151463 998205949 824628799 539956645 154996937 928367264 936234111 925313485 466817528 333264708 893873809 539361093 538922709 634367201 196216346 888997613 790294382 268796995 635106367 903343664 253745003 232335828 171375140 957944084 158429172 478239896 517838825 955376774 354833730 781365545 469233368 894676894 912807497 759258069 501252300 278925381 866191637 861268047 797460786 229087538 747525314 459899679 598952300 662653267 520697283 877161683 198123157 204063098 738203289 518243327 398428242 278811658 391418003 761585274 363338435 946394019 906649684 867355714 328735339 134232389 196360960 156044147 945258572 992951526 683675646 380838983 865386373 658657407 114114790 289093670 328160540 471741594 702618390 576140650 398867732 894086278 839723180 415235881 870604502 908535984 976891292 914196175 190746299 920536717 226529951 381489710 388152579 598688763 488402100 448587163 129686988 201924834 415994739 235456364 908512296 896896946 639986706 324746915 338234588 350829603 830788333 494068328 212813303 828979940 945296106 432850297 255776994 475323403 330867454 172149668 986196464 582167081 358552667 665695649 891182821 455247612 356230049 748135058 157020656 693569824 197787259 991772943 795389247 832626335 486596505 936882517 534292784 425946442 151907074 287470363 348913005 149756541 400863178 873392873 448471503 287422013 791600788 975411655 889424240 589389159 643133644 396775560 186842808 620946652 486774470 669116769 543656133 371872778 949779648 124223814 190911883 346798225 414901916 586148370 249032129 264832445 382697464 268339076 530271521 407496657 872167645 563109965 291854840 932381784 725167906 953064919 268762388 455519373 312596260 941746626 285566068 694090132 292563845 467297926 185256479 854096913 191844934 368853286 388435675 888982165 812490493 150018621 809724533 758488295 975156416 186874417 947979678 877606516 202141510 737722812 837590112 315218778 183117477 176982720 912330215 359930421 432880185 437152349 178978502 718384675 265841694 536149074 296107693 290988706 868419391 982544660 994872494 822380284 732624999 867045722 774489462 484819459 879806335 344607042 647734631 508410029 320614756 249098181 873952928 643669734 289028213 459352809 481056239 271943761 175849633 955954251 308518463 345964937 699232695 499481737 594451900 904041009 993313402 273046603 358042429 409599879 805864363 411729660 591674000 607812342 460965570 253243219 391488038 845339340 118470986 691117542 891705563 407252520 404990116 138427227 543845509 979656322 916573967 615442548 313256738 512410834 215905778 696545746 479798067 575513557 153854404 786791750 906666600 664339630 733474080 858144547 358286840 333725635 354539628 624943105 695297991 288385915 834093351 591623058 286835260 947321303 596926287 736504359 106330124 897685262 489176229 949443051 196453297 798477350 389098423 500248566 570135656 889229202 631641706 653817667 635376199 423525258 626017718 814728042 230118825 157033659 237047257 983440053 813461623 226362321 513262872 682052532 488222008 344521847 758448379 976641777 349900689 529713722 391961758 819779669 544045238 433539637 415597768 628618513 342448614 145580872 453978821 759034024 617861844 542615481 490823087 807575337 457704217 751866435 746744482 623701433 383555016 487537213 704698962 430398266 381645152 813772500 421487985 361990555 552678540 881595996 552845837 526113121 824466557 868162163 648221428 381038155 366267022 791761371 152588908 564913246 168109363 233463093 534658403 817944959 482794585 269923889 336286224 508613285 558402434 543322923 399911574 985297617 267100380 496480699 716707740 919599986 478209050 389435764 464911905 549754592 587563534 955794592 210166232 263924070 116222346 954140668 836006303 285105353 529898689 565110749 188148308 139057197 479534290 745830899 944878932 637246259 645269581 448088452 414063444 892216078 701763347 676464982 223908014 562441815 852359767 666168930 483843095 204301305 968920799 982296236 719261954 236224556 560798322 580340557 157385857 441407678 720659285 216021626 124776242 460032237 675238021 302033129 255289911 794741420 572623058 570910460 629476332 492350728 110651970 863994582 892366333 703822922 319167549 772092422 903451112 150311213 239442814 703829942 917369230 639386390 911014908 238204857 579963148 176069398 689008325 280818884 120021483 131748530 327909894 498135012 725028590 176452762 833441824 720315724 564579690 720475561 606384692 478445370 229012356 820542443 354275132 338922142 720733107 218010103 528003143 556831608 665107806 828712394 245862263 140385374 262447679 784643136 249050043 895854624 485345809 384909775 242312399 240561555 675127265 940841281 716893425 902794807 100958644 715271133 653968834 357372928 200393265 961489212 561649678 946869478 380236496 898076188 924690808 362325717 348662451 263706701 158425262 254148732 468661918 335190868 715887049 537759770 677480236 805159375 721754817 312136846 397088855 893294950 136721992 828431691 120844202 149368171 314035306 619380544 235223642 854707075 429420502 746772783 756207170 262430796 553913844 939479292 737701463 724884284 905984219 986430821 901760374 545554706 533493714 878591963 666580808 660424698 705610454 673933230 958172397 862909109 738579794 887200915 719220429 267925936 227662510 389951746 530500109 936100666 921538472 569495097 657050759 296895706 205230741 586275451 713380654 947071816 317662898 256044128 135443326 648594418 993959291 586102926 946494143 826485379 987867937 589574905 116339185 455459927 787996732 134149014 637832848 779542065 176128472 896045828 497489464 351260506 579963443 897596174 636530968 593987702 268692415 688651494 201242147 787129918 643665312 394201415 236911511 492826003 187019200 848137122 417936183 405421997 738672332 742453043 575301496 551734397 314195576 626329313 798798372 625901637 533642786 346642690 972278316 950101614 831724449 922165469 376349790 483938892 747761510 343022686 823739504 355735520 439418285 564918094 988610879 892366721 781460981 909345092 480207157 132163801 909159493 467990850 661860021 776385079 280283531 120182562 855420730 509009189 559675764 415568443 449934713 773652111 140361591 625002539 289357061 817082302 905946819 508822083 905365260 733120820 279791801 624594738 713565940 786311762 202621382 823736760 177952417 163530438 921088784 599194638 743610642 432513622 940409195 869555948 703502580 909168955 629197281 432637378 345398714 647820769 285689080 192444712 370256488 583414155 352626151 778008929 722700928 314693426 373673165 939986786 684127586 949790773 389951749 702105623 356997165 434137731 285479522 195938557 128727414 480269993 508873427 384282875 124538164 221359967 434147188 156907836 981483782 516980436 948832072 237327349 597424045 596213423 547261858 889284769 626685474 178701663 865540485 587573083 130603688 158840411 975854647 597471464 614027907 523882580 947144729 765173704 904465606 585886359 834817509 523939946 273513415 329185948 802572905 279357871 920573235 589783710 996189553 334529360 469262349 201238166 893498294 122313816 240085999 777064689 307329713 529005923 245351197 974217046 790503181 811265552 244144982 695694865 496040581 389164522 267611930 945791674 728745059 892272984 218162989 590232729 961302315 456501415 592332468 982614203 811990739 997198756 130380160 634182866 773420585 457718370 224372852 982524512 857419069 456362621 801287416 920885403 108137273 240916131 295243029 309075927 212581956 844331133 538396605 130358231 941639234 300681181 928285236 371215685 796868008 199823226 609365276 945225980 149664742 339376658 430092425 121143828 195172469 395223279 835464822 538955803 419690842 378940710 983325682 501243681 418089657 948588693 461910463 237928359 499774117 291836549 561976666 488670273 464341266 968337441 679720717 150295731 546431662 652692406 787631099 131513893 433283341 548793098 809282206 451410353 262184036 850028100 847230915 696476922 290531863 961827823 612732964 409636498 740633682 339325201 694642892 544267146 184095725 319942458 546532415 634918009 327498349 184802545 719479443 468669064 515413965 743834975 695873070 441180092 893718194 909559021 342054985 664045097 986968982 389583300 128092447 659761155 869866114 214265343 861217121 769770798 600227467 921153893 878267497 995911477 808787326 358831107 829959383 786302319 545084856 495428364 569026855 195223680 436212063 387431737 678942680 557722820 215306943 904372129 784519443 649107249 993596672 958370865 735845647 598843413 915581790 625990365 389738460 337149414 311736858 922309763 368102561 838542643 902884221 459340397 567312850 954225086 172356716 692065264 814403710 120844447 404836091 369732853 927863265 994109377 968299228 569406777 889877517 927076711 147671766 525848443 262759143 132871594 235202113 197799471 891191841 563066377 822596403 232925387 684726381 437163193 910096501 778006878 196465977 562945446 296735766 250246704 102489579 664937998 586259431 912690600 123704202 635571697 367286127 456426703 490866840 546709897 540936752 427013235 988440518 387662639 186728538 570928764 567200040 428459878 531034191 661328534 839553990 363364258 420109411 230892132 377855975 116348223 430638637 581563356 356029011 631454419 617728178 360371526 626106668 823648845 711548351 899788924 576586305 429401476 907205500 150139679 217682462 310837534 434593194 379911822 540652538 130357505 839470267 390593596 103410007 597119468 194011029 240609313 277293339 886021696 615901021 597847336 341615931 780591912 978676845 113262109 663361064 949536290 360153748 852067458 145867604 686270772 775927597 533537420 601709870 548350086 943404850 434675485 315818168 332303169 522767250 821566052 978658060 530993342 331179923 811569449 303352607 830562810 167047962 284253796 152475474 435612019 951103117 158427535 351470707 904118491 639859096 751078854 954063457 766553940 899061192 459842996 509822043 321571305 828983889 620353199 182294944 270391937 212165623 337399186 905371642 688810360 584824283 106397938 584377277 619232442 904618616 915370674 285729673 500138758 821067895 950283288 860411744 962203788 352758194 449312431 306912208 264981874 740816010 934238945 205719774 471846099 141911411 335740112 164514984 232986729 556582375 752891950 228540666 300231810 809424355 393537680 512303494 354204716 406641625 526204928 163272584 447999135 430356790 449413449 855679511 202747600 242694364 649489710 590550505 807425504 710646030 485943204 125544088 806323343 789049549 642052163 443145957 307260091 378052604 904779203 587299079 750320544 252021841 279383797 640103696 750333920 135487023 674677346 929610946 734680257 477243915 408484076 234235932 250288646 803207889 873860519 977463094 315870814 588868888 980031558 783236782 286682550 929393724 669350104 185466813 426497952 622313286 168737525 562066875 612455542 616480461 166145346 267269667 363202658 808298857 932609976 892789508 534491610 555864266 842173372 907569249 210897096 137120464 795226669 976989210 283407892 380100781 537057323 272260907 122529538 919112171 601440337 784390736 616615594 808855170 263008235 901509318 158983152 343118997 952280385 723197937 464978359 799635416 791173119 903173849 704623788 879546968 603921999 985206465 889943827 119996463 799608391 176123600 193592401 602679158 208291625 383189833 987363737 583923812 301142834 749771745 653871227 814463596 495582630 617338015 100448868 529171877 381014223 876576425 527204185 515788992 240671724 392122861 678269209 516348706 130490773 468421672 642132131 665989942 692321732 220773804 511655366 962001229 970738603 133928007 640883937 199914592 517685813 893039478 270191179 190521760 848785010 369954869 780101714 212120115 729775381 338690782 131388104 140392128 167220184 332890892 129824801 287765936 546377690 558987718 127365601 509082383 551064171 566732683 360264695 703299016 461481077 710561232 750372869 251595589 352678654 718508749 678203171 238462827 168255172 555252521 214712469 678759484 244469475 797137327 563863522 826653939 256529735 758226961 445018045 749532650 215706985 659832657 456513556 114583241 845152822 974171714 984140181 305426818 299149647 501453586 354398998 476163012 576378947 663084132 931080716 273510086 807743324 859525899 724938003 855684341 874653100 812888802 694986774 512835572 464918626 267891878 721697908 548973567 804207558 776541789 843656934 499683463 676184827 846383435 267752922 833879661 301416405 919034556 431036034 945920444 538163664 564854368 322900417 216984762 287108509 377427142 179673874 319875186 467884702 445904933 182168763 951659670 872468881 467628532 977587683 171766261 590227164 424287255 340292851 528859196 172835621 840604916 884808714 164856778 355061902 413795774 574174059 929151450 419393632 920730173 320265968 543842145 997640621 281933014 260946450 141959746 132518765 145859302 373189447 211897897 622227408 185710350 337977552 744440849 452731511 758194671 843811819 420907436 441592093 458880732 662282917 107196500 925587857 713187599 119789919 602725749 396507161 144628977 732666623 799837319 214235227 271801259 751493130 258397443 159949693 567514522 240330459 764044914 990694192 321345194 443693653 854641536 888554998 816992264 752529214 458926951 580087364 661857641 148039654 848749446 509678073 240934822 542454142 536495507 646992894 500124908 355915268 997145422 567971947 821177089 906308927 923967526 714311424 437959444 573769126 795121961 833689957 940208777 388115748 914764923 589629878 978695856 681916946 583139657 215593903 158420330 638145071 687973956 869943361 305431640 334085681 131128206 991621182 751793331 548669453 712398143 305323124 184065071 692746865 658563556 177307453 296345874 298084394 174368932 783107563 893226850 217371889 512117858 512865992 724077703 243177119 829639738 215027189 821615364 947753100 915973259 431991327 757736992 540077424 771931108 950835949 357817016 668323626 254024958 330562749 678900943 506805580 408092684 151512806 736284151 238536521 528934928 146641546 342218294 936800995 567319041 230480426 390109613 528317726 719254746 711124408 601751744 414374714 857547762 113979974 781458393 373168090 197554562 164146199 145046425 372114632 494253510 197382962 449958914 566550932 473094056 374784810 913949465 242389038 325225898 524186482 797254290 744196772 694575252 949277659 534827043 397987754 137286820 360443608 340859553 190582661 373514976 723307135 758736368 451367973 355492623 337272951 963435393 622998840 814097579 980880592 582093508 708147266 393612421 367040168 234815723 371305286 470688113 959883287 401952435 935249053 169028060 102456977 464874243 841775388 690249760 404528172 294234001 945622887 899958632 886730328 341527588 496946514 936031527 358862218 523708614 433057789 230163408 738860930 560817685 470420359 823458777 239188741 681050042 300674209 843207167 911819221 363503249 786039998 642029239 435329505 467309430 769639572 563170408 959002713 622332847 474596240 451185726 530060839 523182671 859265570 438623869 829425985 196241587 255389879 814629033 341003756 815201282 953526025 113673678 118893438 784143151 830580099 583173924 747936231 128181284 424796240 607066741 744414733 960810171 646681588 818906579 788905906 197383394 235012294 667906337 568297559 447196619 411673335 818363603 852656012 945975063 646314049 243462375 410328079 711412936 615370060 823616183 379281297 143494536 920515647 487645894 579379460 829301220 513556571 846926526 319367952 113523315 315650411 922493076 882496172 813685825 213542647 446607856 738343365 772395104 865347030 187141642 817048798 201766082 504639244 387398195 483061587 450255491 829978824 444526503 746546910 637867031 955190284 746906480 219515759 467338090 160398019 151262700 511026543 115601423 143344469 812787561 460348515 642106463 773245029 576842874 617212613 351438975 405272774 524194941 358932882 679645639 641027793 147139763 418662242 671157048 160650277 575048032 544503388 994865480 720830182 818454606 643110975 129371991 747811068 318667707 264040888 366849106 846876718 588367536 166758179 519033687 922358610 125442861 664580776 785764358 310785174 791971728 150074242 969526615 843099381 974922786 877817933 352750028 670058851 911656589 942608471 638209419 596183569 880539634 231338906 228742201 888947024 976884948 318343318 468468478 903651291 595781872 877071030 756419904 300894679 144001942 818706057 340128866 380687354 831044947 739900930 125756172 415693202 869195685 602167670 409303837 849100772 839219761 254687753 781930083 651159055 950929691 614992383 495202370 584052474 512918286 415059178 268227737 782660142 346381632 758106616 907998905 155427326 161003189 189395570 163374807 438365794 919424236 598355219 945006267 577826369 936047389 797742518 133192535 354918077 526063301 608774916 707425084 804442009 146209657 656387754 498991311 777486393 224715513 941307336 198560260 898618134 132967705 379258876 140305329 296870887 400286161 470649542 494182749 275718511 401176967 189851145 254496075 209994314 754505251 889214166 766184953 318936654 726755619 386666796 786144823 600278021 253760313 562337785 313200657 392216140 683906165 956917912 506266688 550508308 236906717 163943883 492634078 716307935 668594033 319502408 702171165 224368388 331332462 606725960 557369788 307172724 632529277 800169225 364281600 632705767 528129121 903812989 343980662 509704528 140604399 952356719 507431721 563239866 564673339 373327784 897287398 771127586 309793985 941136369 146423378 374387070 359656763 365261969 535314166 382160469 472193028 460441369 691881020 806295576 924863184 858632601 555695127 844393988 435448195 576064844 989273741 170176922 778949332 349585917 951377595 780386885 822838952 125027199 874318131 178797472 585472403 735719027 737646400 909093677 908679701 655910643 551986244 855954519 788346655 743651112 439287478 300627978 150029125 113794953 729271102 114488375 301697358 927623486 948733466 188208532 315074488 818238371 624902537 697217480 642265646 654716636 178441513 449910868 327361934 805785204 360608196 791780730 900844485 766524751 348015116 404976937 116092819 249122239 997668751 908337133 428579204 765028327 485207206 838552830 857586105 832697218 136757853 686017886 708723024 494231247 190378145 676776421 810470425 740037144 739234810 939212639 812244389 458458142 786284719 673979609 200856305 135012239 753278285 584548454 740717613 124351825 818121802 602405189 726436301 282036093 497191702 786231792 566970132 734691324 907518179 821828394 944393667 418524677 643013304 231518835 361792312 402403700 116113639 654130007 579270935 253321126 705510913 993865427 643117518 520677382 408101803 845226587 862675748 593894630 870985861 409040658 192972438 677653625 223928147 967689351 427278745 837660040 941718586 809312279 298852897 355750502 932485256 144932756 392116960 938390597 878152436 985655613 579374885 791420225 698664791 948680286 159180354 207031357 248828920 588491922 981556055 919962332 413604304 511851342 728225622 266947575 558193943 195443679 479874671 781022016 394209820 211053939 312188224 444803688 127596788 881204358 508408979 940140749 558913962 997813284 903474973 665721642 933217231 909215461 842031052 142421685 124754994 550995043 444038078 836624088 324047817 113730351 694235257 652652320 931811315 703763114 744562582 658670985 305958175 476931550 899780354 596145000 263438453 543598310 793691077 556546416 626613211 137329589 895170152 576769447 600485359 835884895 789177242 225293400 482528423 625579442 621858219 765381848 261269743 251217809 163966231 734038044 994946134 802169708 612651154 796065556 201112245 355423533 713049307 192926515 539915509 602161279 498186186 806880471 591865251 261297337 610247311 539416680 115691709 546404594 298716909 220019760 306810404 834079020 316608014 453112145 840791870 765554480 475713068 470828267 495960122 141283320 267293756 769587335 829977779 144682530 101296788 973879879 362165951 194483100 269145421 546592887 880983541 999172819 328462566 294470586 478446081 905892309 923761867 971641446 948673239 872279932 550793174 929603750 428550681 618436938 120723941 263582038 871554732 121220643 862591739 900628182 633453207 829827955 530074617 557344897 650508188 329041762 295167847 446802014 199145266 105234961 509269209 114118227 408535050 512321663 478236281 558374471 641012808 163164001 505603461 692790065 743750767 934728802 846124831 393945213 543954366 780246467 416306716 785802740 819874528 282975962 298868530 396954891 122758794 638646250 755487688 312990598 793896727 861313669 888895466 121762816 617842777 518453936 871037432 951590210 807102281 450254962 478271931 132669472 247051033 196381837 701165084 889203767 854900025 866979442 456550949 202606740 827108300 118526441 507336244 767866937 209884186 767870768 605522936 833899372 977717110 128016156 119032818 103747157 839323817 409956296 492803304 368952618 677576166 907047395 186493137 693239493 100934617 138767967 226100108 320779428 648128157 966985995 307396814 505334091 597719355 454094811 382814558 126656366 591473444 362604802 256227096 375551306 577111691 510909234 787061986 467785717 640560218 137723701 542318285 175206269 748364815 239556004 527100492 483344408 214759925 482030069 979721802 477335257 620429435 124212003 957292174 994400121 904435844 592097031 854365800 665925869 572290613 564892548 476857924 248832107 424011060 345669679 790447163 566068384 331165569 482115747 434555970 619181902 306189887 598115843 432121072 843527043 948177789 599494067 253124559 120380123 492563847 483591105 442210822 486272795 440197956 720869316 374946869 505818508 937070739 782673810 117291802 629995007 174746618 685641342 251772256 893132634 491587843 142473040 479541327 972385647 542688108 328989260 423865896 820560201 473395393 295086113 116845033 174966897 571727997 166268718 683458233 905820059 411664798 663073820 359935677 796529516 705960666 613634806 215483493 989116377 491735531 392437607 310550281 585946566 508963568 553183455 975376646 914271242 693653542 313788589 584766309 873047732 143647479 109493508 496270181 321470637 751655563 134209084 828320012 367188863 352942440 485243366 807690771 938201049 138249856 931780232 371243608 366424611 451656612 254238065 673544698 686861465 936762938 902948432 686511169 542682864 244149108 324685778 381370320 149398215 320175741 622405184 724469534 157190407 399542237 911626016 900883418 856404305 474749944 364361271 908789978 418000823 882858190 435377657 621185687 735117399 482992440 638743831 818000260 237227865 458912753 974716764 788646734 135387262 807412172 614791649 368279095 540268574 877687549 924281086 881463027 175357692 191220208 384573670 441199777 269925490 416305540 809293662 987249851 789125416 636654032 977433957 205055767 377569624 371027878 251293749 778760153 359640052 193377587 214850805 146112714 366285756 585044399 368191157 789486844 932571529 775176568 234233698 191969813 972437641 558324704 324087067 467664433 934420765 837671533 265842035 635265772 337021078 369116622 455892420 362510865 630512303 528035786 986964493 948398311 586138346 638521011 324438904 850894455 162013703 577623067 110279080 753921610 288971667 308529501 153113455 884523157 133630400 552644108 616637163 986745654 579782562 742777844 813356106 820108028 784231431 674939365 367004966 579142079 777335703 989478968 297543568 815020435 636015711 869396344 119784560 335901440 775464434 244028432 150664690 972827577 265742234 271813684 626275937 607096077 288243506 874008583 452839769 534100646 116142398 577077450 830330618 320123805 704081579 321952386 185253244 327193168 914200522 186433575 867987896 474711336 323668413 532436710 682974115 953283145 121498939 511511853 955492868 551462514 515876149 592410657 112461307 925580803 393361979 945270942 181213910 931217163 813200895 642541823 797486123 928310580 735885637 904383309 444215024 845160492 827984900 741596659 520001030 830638794 754364259 904204564 473884298 562188530 724301785 981128617 248458115 854006943 713500396 866295992 719206467 519573990 101786849 648359233 490482100 683850744 436702803 485063666 763324971 795650790 323407186 370258557 522905007 429646462 290381926 918404412 799698139 425179527 603352609 699425404 626291041 444422913 115040357 411823015 819681126 503352516 637862732 797282350 195876822 273876769 798346481 546777234 531547775 653121621 359216005 201130596 931405993 255945544 266737510 135503566 997958977 937153159 319889759 448100055 198530657 142277965 427061925 110794328 481722879 573169268 319657252 486254773 194581875 116513836 444156947 973069105 626012124 531180851 490773697 987408134 688551156 661552623 799157073 544780278 737450572 250935875 667735000 888344910 195893520 128224587 601088409 301683626 721174925 324339108 730172595 867748578 189824594 145467181 335004646 458211817 172050804 770752226 282299433 945995515 664876785 809449350 836263527 101484652 686030627 495474661 627822664 264560994 881252951 845105373 440505430 308609445 943703915 512262528 888567872 237036274 447028988 975187853 785259860 980011312 152104176 994107450 343483551 804009508 225755831 324859071 324907203 860731423 804366624 500548457 134513455 102416077 540863057 701980217 820881861 845247852 597102394 666373383 275849609 981960493 628757868 463319933 839319246 720281224 774922538 178505399 270613261 128162129 440539028 593401314 740740238 374566895 241306097 795152764 596612669 755127970 340666690 785317994 670425169 596906142 689743110 481867322 900005074 585009898 109640756 320048504 562177753 777681982 733406002 536541979 623032871 650561649 788414914 234103305 857196942 755355014 373860953 987232379 242867302 186877482 617441736 300794644 433414544 617543817 497388016 871685972 593195597 488739443 516938864 809759379 905518647 186238497 684842886 557704439 817677062 441862942 779124290 995791724 251241586 839490779 938467079 748369321 477093996 323450657 196502239 221565102 787379077 527691232 586477033 805754103 442577256 928016546 738833377 367832095 291497553 215453862 145875176 524798768 512457242 146885363 848192624 204937026 846487512 621734680 455788274 102892213 489649081 215820644 499672507 863220139 142191613 408310597 815511855 647308222 850065713 871153288 956047942 341555904 329196328 413504716 325016300 468507330 239063210 941783144 762336330 462930306 902563285 802141452 331770215 778331551 187030974 862593207 266029031 645149225 155568423 363397607 167696472 660320812 708672345 925257837 619342907 134319887 269967439 765383083 210384859 195877051 697469008 653310158 154273255 755113888 821161010 820282790 721676704 916015732 752532529 236854669 494262111 775941453 659019370 753966849 850881890 104560004 282985921 975683740 390508706 269555688 748221348 399497412 839587059 458051043 487121711 207671753 637718843 248987016 476816788 297681273 836405207 151813908 744168497 256279004 779883367 726331122 909556608 636728451 109545549 569503069 828300698 648957845 390873459 194493541 264475720 696700344 764827653 187784834 483504604 418705961 971166438 754976867 169546491 124894319 447535391 228059524 758421091 301178193 152201380 536758706 276962757 366483632 674660608 924717591 178981354 924575710 759161552 674712800 981978198 959039082 234001752 281121965 156808335 122754445 152433047 721714608 371808495 665273601 485443987 833717668 957642260 825056622 688642761 630309858 872477647 472462284 748934962 886121750 986730424 860662791 221175680 481496038 652866898 220768122 898137427 619322210 915035409 353908431 889461176 362513552 589003587 740123400 605357877 612774069 560562480 116487416 986858927 131239630 118621952 656417123 274663424 197769764 388949453 907504770 569431962 684107785 206642223 659314253 541836330 582754356 177987609 230314823 805619555 146683699 594660864 403769720 609621334 723536970 836706017 946579618 435764394 111041994 779635084 508469779 240486076 416607132 426219864 614511744 565368298 328327741 462557908 640739530 650258265 513088857 760953547 691923704 425020809 165898434 403865498 350700250 209412362 909087463 423344553 505144924 855155199 781200137 587169802 569450966 651078636 829212261 832432925 349187769 620459171 322499769 804419203 949560306 760449735 973501449 134167558 857553009 812920515 746754829 405965928 775031294 830285750 886650757 183403625 557033753 266287154 249949154 499604580 121779654 565678938 448533173 950919650 479835241 764029637 620556796 434972110 692190840 416321328 248895791 757580998 158705945 847339709 285018117 543101201 180924616 406516969 266256027 954928396 491669774 911532924 445608599 577709728 837650833 507056134 459870131 322320112 220462167 996141727 112525017 718103257 356398847 432157298 998581764 232380856 415738752 885783320 304734537 833875808 824342700 622881272 399368876 473016024 432364953 928236448 792218725 168209355 372335725 457573708 733145727 152752342 544155917 965111424 105732289 461290684 137275434 748140207 670189382 800349915 522677208 316893177 217785401 592246572 405355305 819649431 648459451 773479948 940882240 903602460 235985227 258094305 822922642 353292108 356386037 990589125 178184837 937240184 622637861 757638801 992147510 429082846 999221745 102601649 612936241 928378746 630826207 613884042 544457198 671163101 569426899 387181114 568856725 200480843 364397010 906453153 278241184 395561239 149672280 974515477 914211086 337676734 788504103 229721926 496375789 563394951 783200903 477586660 632660971 598971753 837953835 783371917 348070265 305622874 535727178 333654494 920337120 146092582 904355999 913068739 471702232 148641956 234589965 886002546 869806062 119423953 110589054 451032512 791193101 974640280 942987408 677052561 129521887 459643431 778674455 498122455 175832799 222517236 964726080 894427419 147886846 585445506 563613688 846947521 605966965 107273105 731731247 823027948 736508507 114170959 661184179 319301253 993713999 440140376 192081438 373519339 975717442 716704978 376574963 603859145 218823442 640932490 477025878 963544443 652919694 335623011 923165729 708301584 982356388 625985402 969009819 620069084 774200820 897305430 861071381 184105103 588366290 172551448 446511296 283849761 560835310 756517017 456500038 438092960 219407937 377002692 528862058 263150313 467387526 504144906 205662252 630849940 718386004 416011406 668516646 748243584 875597811 696571435 567337145 201628861 145592550 679495046 713592992 937377482 784915549 234422012 159567302 640488263 401844408 207700654 520345619 286522558 646085627 888799403 838598861 980959451 267963500 119644525 964706026 779546246 385392982 878029869 953854297 648233667 228903028 919716668 927124622 562451340 968394007 323855580 216171398 134886625 807349121 347301457 302548450 582593527 477238835 179783395 963667476 806235280 926952492 548392191 968781150 637079606 873963685 686037366 209325809 156314241 946974559 351626243 264189034 962874665 831024059 286841268 358370596 157154287 594604617 652378290 810322583 471418317 837602185 667277639 950334681 318321251 862378679 284261839 720756060 363176913 352013461 222420169 572599959 505201288 603335967 173711471 143403968 321711193 166914468 908774503 209575588 748969540 330502274 288096327 832527999 908835385 117869183 752364000 388466776 745475880 319864451 987231317 408207460 472037152 813277648 919482047 179519399 837347112 596082998 651451906 546504742 876350576 128533597 860701130 874275328 222515289 908116723 318161382 266817560 718869463 714075809 248155327 853092882 818018881 757006950 846979479 627596523 338819411 283639680 141623567 876725040 792915929 213595764 512827325 764722676 837184605 412835987 854836946 299214762 478154727 196202769 450962619 386854917 184681857 993362155 389580222 575037888 751262463 746771299 295086180 858533762 119734309 377978241 788153713 715380706 401573501 242979263 668311131 297650315 622548155 612284345 609327701 219519649 683741391 941432555 499459803 421763869 709584180 135494136 810076385 510023098 433213530 126576739 170133645 927470350 136905169 999223343 662428068 227435217 237040667 190004238 531460893 631546074 604263528 772448195 308010100 857784834 836677165 886353712 872982452 184003466 287291445 578388100 817098695 650148441 321141679 534447691 256601720 247335305 498099336 139110646 765067471 818522255 908229079 386126656 309416027 123789276 254394296 690136374 741049099 773166149 362626223 961217588 257987606 435319595 581063315 460068166 656903044 672310328 355556515 999544455 411544878 360333266 949845933 300308550 734450803 570320284 562056416 205755772 567654759 446006029 854497125 802806467 108282377 992636611 158290966 946561725 980485538 614003281 299657115 379074123 754059762 181265130 816590898 941187146 733846878 528303854 317695144 801363549 538910613 986678195 738109836 392655856 869873512 652355961 124650031 893814329 287869427 222882327 744745182 601017431 526807152 497857922 782184497 459613915 549762607 551330989 793627481 494264578 614700748 756769981 723272473 413707903 338364765 801941351 443841790 253154280 739072223 443808086 647972331 349508293 536905955 499802731 248768466 986360070 666020550 362859166 901782944 540768667 349345410 137257895 323964667 889906074 724558896 411204379 285430722 386638683 248607518 264073488 290617399 908805785 359315021 248875207 295155085 632033927 758753516 637713864 778183625 872983777 843116004 250869271 822469802 501889422 566873552 907804742 760790172 302894800 144610703 651043903 242735979 757139637 620755244 238649875 934216278 927403841 869032573 295664262 313781542 998173368 641064141 288677784 716096090 155506304 901382114 887283516 665864311 993992192 263748251 703807957 632394084 235589047 622038057 453078172 501027310 562615585 411942261 575543573 350059740 621957071 172968396 564491071 328564735 263961914 458826884 484893098 171420222 998771412 250641492 650935261 679084492 785083498 554818948 990869360 475973955 507766477 756657259 300418591 686601077 630857671 680763171 704350409 264535155 973706841 567405313 670780762 740489016 319694006 826679261 637816185 716627833 345334895 800212166 884477085 799053438 408051790 887859478 902822123 698048806 739057766 750203745 835938202 348750238 677652760 389792434 448378747 327575752 544311789 465584713 353229945 496505918 352898215 711488006 156711175 529246693 225525016 999173951 642980755 625611635 990063237 250166528 825522747 748764228 123707849 928190880 264452957 139648883 358958201 353261409 175899589 408876662 932227225 600434373 179345263 377149789 705171911 133256611 211317815 953395158 732740089 658515198 424216589 298464589 731240192 577446294 531267131 514587752 112615845 621085951 908016501 419951043 669228871 163797847 163035558 764178607 537202596 583774907 318420747 202772147 748328677 111107337 222048239 532660735 142358651 831011888 375090390 189913492 811488780 451421244 898386290 311040718 913193753 155623084 181023713 517312925 281188559 446400925 792421268 514286706 631639942 823934725 405812921 627792405 430652514 712519351 499369926 344603783 254767396 767660653 695844160 809501246 784613525 153758183 142918953 176557113 741067386 292364307 988967863 875415968 492088661 230540610 990298300 915154483 281557500 404582607 716755804 563298835 813824201 795288740 208896417 147106770 151307331 653305278 962488046 620599465 812894665 959872004 271804019 423236085 907317240 356553202 337827892 264647575 116869085 869903520 167973708 695227077 621228627 108899737 787514936 767550578 437185541 492560212 449949889 464095769 450998878 648287948 326775870 999150026 134771526 422730504 953667058 231473805 583501651 735725193 157680753 944311113 657785443 717019374 323154176 436694899 794026750 131391131 252100296 754608428 465385767 959811365 216573553 553106581 758148441 726476043 574457270 700782849 108337930 726884355 648042665 689662687 500663345 159874425 951952639 496125610 752879109 829441312 753788472 359475404 510886368 608798143 572348969 774085569 910387408 676456730 537476703 202747038 170224041 307824042 287322705 327940704 488567786 434806519 610662752 765594231 772511158 343122915 698635002 183585749 749764444 335492879 984453861 201251721 739592437 204203311 263247001 507041743 965369061 896138352 535694991 814826845 900668331 589617401 604146293 197159642 918007684 810393655 338315412 833960838 229623153 584263435 838717243 487354989 203900052 915520878 504282831 303960127 762457192 109216318 229229947 974826511 431587412 203867337 546334436 591387940 448008462 737581998 367729396 579584394 252522607 420236315 736247382 878368486 309695466 411134617 962515424 189724600 422750388 472365539 768594733 800681799 857338337 293594148 637923164 678453330 483821603 899972952 916414979 179550024 687487005 998911113 776888443 307977882 785208928 336391714 626824115 867441475 998970149 576659207 378417534 908755252 743147525 667765894 177501108 818490489 830417437 250938398 313157981 791199905 789245109 447467807 789692971 152374417 516799803 443914324 934941025 921680204 178693335 526140326 920204997 402197242 649762940 464572230 605702033 304734758 791920901 540475369 830821539 756431496 183832976 257057766 588196163 585961845 705334072 870910590 954491539 541897155 745584193 930492768 327761484 493175352 870134424 153618011 253925029 826440594 392253702 735744127 535284249 480480568 803808583 641241743 737023931 830300927 566745213 348917865 945467451 978268885 868258793 102664311 259196588 307272678 347423558 865040005 480265874 485489849 467731110 917531850 946056890 603912584 723430648 781522390 335403248 179558918 601128960 109265866 445878193 286937775 509050091 675601312 447420574 847884394 834720132 584412962 268332370 363740689 457177056 803772795 911454532 571659620 349551525 570009639 573849970 656420570 171614287 660085839 599784662 256232556 534362517 524268573 660737744 168107862 139047628 360321723 648316374 973256377 570801382 351654826 719216988 982998219 337361153 505276206 234672341 431763688 370666643 664152901 932380438 529632721 382698730 636337459 863861935 826269083 366789194 523523780 316805095 159964907 471438607 720930065 813540759 930671708 483771622 230368719 482524188 523917623 679659400 127713843 885752413 377144863 624603803 414248141 853942823 710853950 738458430 986690936 749838004 197225724 193091315 494879390 848023190 862801334 817531981 291886599 818345361 876358439 289085580 747482662 234978571 734084011 735549980 527053051 465293511 180552270 380805758 338591705 269836930 892486834 155103476 114933869 572582972 844713485 355518844 107383784 260624911 438883790 738961018 678469628 699535526 232842285 287182619 325151294 449288921 209010881 481608030 657775821 454697296 625250265 105927970 357138689 420605467 311952244 925468503 886067093 348266142 378568044 995442644 995843258 772181247 433019377 661267084 248155929 885294060 556714739 110831561 949580409 313222602 515381595 535227121 783190994 564828824 635305419 306251397 130409790 883566460 474415321 354443343 946965952 316860915 749982831 266563186 579712344 823943539 333418429 253269695 425344579 828289533 101708502 215023821 862372697 342746337 349727906 404517401 690692951 324598418 971324884 325043022 359460248 447934192 440521668 587428301 238330427 893112397 575307284 404063248 988118884 761474492 166396786 631851766 829471343 510441351 192221184 295619636 353765642 633655393 282131869 346328381 203857332 986448128 644895501 828955151 782791262 346473747 867636772 524848922 682316967 994380645 330165883 425816509 612568020 998297451 435722066 603738141 655725360 472617663 809260802 159680187 113522868 169698087 992615995 870842280 906644533 906926575 305550780 641356197 564450465 425944229 608548367 378089081 325138169 141874314 559209677 123841267 989295805 794788408 742985198 866433804 349638643 533222126 817051298 267716824 919021422 808033491 744326372 860395763 633850751 800237115 835939816 650979920 105316829 227891586 166971262 514233521 306946697 865259142 131639852 324611874 974325456 315842819 102357270 268487754 195661800 871885815 235680312 723340591 538938045 602891080 483598350 598768371 107820941 217783468 834915046 224161430 933411638 654081025 769945010 779659222 869366384 330517706 381412179 648752867 494224038 344531316 259801728 164168396 804423624 887209887 962281761 674334239 543810991 911830847 482913553 985252162 929220874 111894711 193112584 523112561 517396655 192292294 260493070 964060779 795019117 988094168 112606185 856837610 517705115 368402587 736803298 912738707 481835460 197265418 418871561 312353122 487463892 332731072 511633591 954777504 291590812 317993111 654339131 915211365 199235898 872882831 116233002 685411009 611542141 377124230 796003316 894617957 488867464 991919273 756488980 969661160 346929993 385060934 590403195 323577453 791854629 604833270 433941198 757984170 913205623 250195037 255149926 774932618 629772413 430040156 985284689 826142631 647510302 310602627 129293363 509435533 158774023 801068947 754271490 460785620 487984987 752424915 999352052 572493568 112278636 787945092 786355094 569098856 454915603 200571503 149594614 448501257 230028656 283672805 372430013 668632673 214544074 400595187 960964163 249883732 804432541 863859712 329211593 727505835 289818700 767514338 640993027 803624609 705074762 512598004 111209600 925242354 449114154 625259385 423515989 173800033 158706444 446605840 277241201 569360786 621524692 878571443 705403721 690733906 659692805 243086772 152457491 373373698 425038367 403998734 174904363 128516560 160967031 793372442 817270583 152927496 596584422 999163849 527531310 510919475 856942902 804052167 535305832 921025670 474960621 665004207 732016450 663641668 371682259 170587009 857802505 415758827 459703754 354276821 269143104 602204662 827194035 739130536 983314714 514642149 882692505 746657865 288690858 190331670 834021393 636177181 824031510 523162003 841336226 329594365 707988110 705954302 744346836 596642373 347574587 450201857 989195526 596268372 781158208 536907143 187362838 649758713 503706805 136338502 252248182 835147613 908565405 365341570 142585358 447549601 417530427 943293881 512666916 837077348 298879180 595692094 683400389 487333258 407178124 725145952 552150267 425940608 815379199 459281921 987409309 421470822 171000015 960035544 240620847 672813065 653644652 305544670 366919264 526901264 963612129 835009911 893553164 535040225 215776832 463591687 762685882 262179534 551929653 153345893 406952579 471909892 538990864 646118400 982405326 573536294 400674588 880355104 582257000 524933776 880955224 497841364 299710518 599087411 798684023 287253357 508872979 892656336 290443961 915182254 346177242 360407169 845384466 966125236 230136549 721431839 215359460 586264214 437385390 290610539 885729012 618537555 668519684 686878332 502125230 171479085 246979414 516730711 371176531 238172480 828893989 991478649 977665176 700601469 502203053 428160918 880420762 660519412 523143223 363506839 344086207 686282762 438912857 308236180 804845593 577210527 337690773 145742788 322945559 171886325 139245960 392921109 977780849 749579304 403811692 256320557 384779619 311242207 501159704 441788597 788312212 634906128 692644836 361082403 402077703 861406103 197421804 456594038 548205290 190719579 734930590 777157949 564032599 633518696 113657267 822437559 774630162 604122945 467741500 972331428 572268164 318805248 184293600 305538003 475298026 425609111 440904727 755379677 289258282 955545668 905873043 985067188 145892040 205009868 822281260 505742617 247314608 760557291 713622590 486395752 553960871 664574117 591395861 148178557 352727095 892555376 454729938 129175488 190163331 886241302 464234973 365002025 724987715 699173564 494471141 142085919 561758877 474747994 304148992 708396134 939951381 357470824 918152744 797404423 764287361 788948244 886445636 707398059 783869085 874955666 463489677 716179512 353960235 383392296 241065148 889886591 322249300 161834726 221567527 837623231 121172885 314704916 527295646 165600488 781818775 550900350 550626977 128039110 181702347 443163114 321913349 820452722 273023444 766325554 332754484 248469453 752350527 620356789 298012835 541292502 296385043 115557703 286373045 946008172 942345899 198149256 351796740 845629404 402317182 827179772 205550132 978901140 189979127 884080305 595310800 398796362 674504026 471478214 394126559 431041082 284425964 970518536 980646999 761821394 935216557 648081918 802214367 870845581 107892327 653311584 657854711 410266916 717656444 973570863 499585515 186143108 148271869 940453406 704795219 805091030 854300614 657358823 976510245 197495009 952231023 565414170 756737069 547125740 166526166 916923370 399245743 111103229 904589674 552525708 795815712 758044043 341341707 912047125 357131421 976724379 971438009 414986792 171791540 948603514 630903886 816823418 189864032 859234136 415167236 875099090 125398239 578211933 830753733 573258110 775990517 569713857 443014659 360931958 801539914 163560491 855873561 969236570 772027759 355508345 978372574 307055039 392706449 902297374 900246377 932503755 222772351 204743152 484442173 893765613 445608812 519564451 192882810 153435415 583317737 603587015 300255550 383738758 418599504 762649062 601494757 958993002 206015233 475326832 287957194 211638199 583022464 321360193 907949241 169092242 780037208 767414200 840000607 963429320 646341608 214828545 233147283 444735580 154801567 768876157 557416699 327952506 258892999 584356318 452083934 289406736 308172886 680834977 534790658 791446368 488146108 379712131 703799159 708572110 117664772 443839566 193803966 781861913 767363631 881651755 967675738 149927194 457452302 922090440 720427486 406825060 782863374 832434681 230619943 150367105 754782858 149363882 615325698 621425372 271316313 170575654 842371431 217800987 324010369 383413215 594482890 234565189 914324032 768189775 336282370 761445819 973159008 645635181 298681046 621490513 399653925 355724452 890026399 519476939 602244924 316740395 197742279 503620611 513589528 148970238 826740108 909559233 157439074 987823866 278533378 524560550 110467540 391151124 225997515 136897631 416330898 146536875 463664537 716264905 113766046 398952432 586683942 746415880 239813876 461834788 944919201 315635656 790663396 983024368 697873491 119476832 916950715 725158591 898604856 552032763 752698491 505552754 968416934 738938412 431405076 447157995 183761687 587491640 478863031 272499928 859322558 269222724 752535450 938199752 388240228 817405599 616510976 994767772 326099642 197878821 912966182 849826056 852102297 482921831 623588001 891171232 429995329 384689878 801542662 706941483 746275782 627945099 201684271 691534779 733825223 704241201 682411263 813974226 912710236 367023775 941428133 583185997 989709570 731929489 396593872 109934037 696037929 335893663 373384174 321219935 406497303 991150035 885969171 879097316 232153793 677480140 303587733 938275017 271383151 665754896 833736627 281450078 699281582 667741702 639500278 521567716 895880158 637548524 931904836 546527111 160309169 282170631 247578874 848081346 144506500 249316449 982877962 514727082 266858298 583173900 743571094 803116269 943780442 220723702 702111034 430792527 268620410 763553248 492451058 331865373 180291684 573188251 245663736 371523399 735499325 227332271 321763005 969846495 328226440 329580828 755534353 472079369 422628536 697107718 226867456 620838744 393061158 935229645 524694291 833720671 817147829 523136531 703200321 425399923 626095750 771274732 687003838 839403817 906944469 422970767 244559434 128945709 191481118 914881258 507207766 199195954 756319149 437067774 470868405 626316343 486188841 186889240 378071672 549967977 966333713 473954868 336676372 925594297 808539122 729164913 412831946 241046169 512687562 531102145 843708796 299955732 899651237 725765547 825038828 729933088 198446552 690595601 143131142 368917689 260643993 487773972 587928813 937098941 516848956 233224330 488392339 525812689 960056561 722149875 135857491 342599641 131665461 725084384 573311423 102275720 135797088 603905709 552811703 961922620 458648336 424941485 492867951 945665750 752586409 616666579 572271266 869999382 323171778 255940891 517158039 652678744 731215652 918905407 314510894 907309062 779300960 724186842 294054142 936088207 605257805 222622963 385718351 812642775 139878840 457040672 513138608 105665574 815594141 896996950 392526947 252939411 578629929 721682714 122011790 474520228 873626017 283287079 343766874 686897082 475758142 879688089 562900661 848382186 443599595 729922927 629509647 874635415 783906939 998670691 697406512 401324609 650277709 430354312 875199403 648656537 412147111 827853660 196934202 480977845 346606666 951655561 340841919 902893220 600409832 539637504 636517371 815864477 804650915 611028839 530793154 816571923 981249236 597582095 618661949 661295018 509665672 649416110 698445413 129544460 277867471 938402306 409257841 972699557 980712801 908733074 350655684 632435961 925847834 109187908 641928459 526068196 110465341 864168180 603818154 417277663 587310334 317401657 677551283 820362480 935683837 645601316 425672974 946668470 668618980 884244555 495522042 315120745 190199793 415831086 383299652 951178601 101015921 750401342 715739794 529489423 220822834 178501893 198014868 672805045 239602548 297535928 925806292 687967116 189955580 932965760 607896536 426431139 863105896 913226681 567605157 332337272 966422609 914899044 897987995 911626224 981901033 457096438 631155444 114446790 779494969 514241700 933684186 152397158 493434278 556775888 770701873 166996847 788968388 301314166 643557639 764797828 355044478 553858771 579723203 103756776 952590288 721091963 329987970 918973163 189510335 350386508 926990868 580493170 976788613 282752192 836808571 447693882 678150833 754865190 419462752 399002394 851779042 948618711 304528916 353586606 922204529 603321009 522483759 973462193 506981261 399121528 553969878 451746371 587978307 299331818 945563036 974595661 111826486 437851702 416725794 559945563 343412143 741784679 741785064 487862787 402831889 861087954 634684395 931141123 694760533 361288744 804300092 309559361 682658707 840994310 308092472 913706489 526631155 731560800 436578195 288897907 402520476 786201469 644433943 232932187 212672074 681673443 550402457 791147890 301298901 826093681 850234294 452588337 963339692 829839454 932374976 700934206 353399710 368364422 687611893 343687679 947393604 419677362 502498743 805336976 165655769 554507300 745644986 994859959 808560982 571423070 421954434 804508508 532437733 571069017 272921908 676827036 636946599 600737650 181521860 585099341 939966220 207427412 476720311 732420372 434483772 110364767 932948256 254231554 798385290 360660250 972412759 403304733 360546285 325218838 538681972 808668843 455406012 311595378 810631545 437531011 149266149 697734392 706525382 360683540 714980258 949722577 194030115 301203127 839056979 853985673 794242080 838286284 126126106 331899110 389618073 243764024 245954456 758083447 720503352 732016114 175779823 565770708 539767280 403754213 653039091 882556523 207820097 733199462 467096476 176706591 950900633 607679208 198284070 503589667 806809203 372307337 572084539 311485260 627659981 503849723 378836698 427476389 705164763 533862098 846276462 442990153 472175856 702427033 884765985 319486186 708334411 208429583 857789527 707263787 450882320 621329711 340283356 973280379 141867583 373119206 275473018 638060094 916158376 434370268 568168710 847507990 131691352 293900709 582158904 313222954 191895984 120174823 760191567 520857685 479052530 124338519 757961946 832675077 631753632 329964573 299328895 629481910 324642502 688615463 388909644 980461939 645710491 217165968 566269692 726701783 347082512 775175382 489939775 361641253 507753885 354592602 385723900 589572407 952535078 304596965 338301104 602284627 643867906 566364875 551106687 355832682 382533909 370309254 533514796 485562969 391256918 361727613 565417361 388709726 484687127 512907124 302817465 201312328 836180496 770767352 716725669 638120555 144674404 352344514 371319869 665274680 828411699 556270011 917399768 370782882 224319769 755807798 208768624 516987006 422245341 779887470 242687073 956860297 678770722 237584407 453693006 635058535 574964068 101283234 792400160 341828981 510484839 392090758 144145656 982717974 583001819 768699115 823186208 832987661 385337829 527925341 187173437 869864805 892958009 632794234 881744274 492212240 161986723 599636951 180923867 667015027 429187336 432804208 418011806 822114310 455173748 348734034 536395077 554798717 873217187 216818171 358562869 573060682 832430774 617352388 998195204 200883798 748561333 954039726 162156211 198369005 406101420 110429340 478635517 311452394 482636918 589982964 813581415 828108193 732107482 389627708 545665453 519534615 419378463 268443249 483256592 861921413 904075051 189085430 905439422 720672192 527523191 362985209 536267118 955007543 981079208 871579831 787096312 601494637 359356106 377088650 546837342 866512741 388675966 366766902 144350937 409930935 627541778 564557713 522582863 918944857 783486320 616963782 219341201 587280867 323442681 582515064 104727650 885167803 939651995 978846408 123109269 403359060 188587993 545585937 976596285 413550256 729475647 886981776 205002950 372618516 199223733 202556156 313470716 189651215 112473275 369596627 448022766 199654596 538899251 457091088 448106986 279519496 944687015 608085458 826976881 740382761 261416724 831866932 863667916 897126149 249129546 425599518 519496128 447449322 759953340 763520547 438344906 574012515 444603660 146296890 911876068 959048715 476835282 391293080 257631830 394951414 718713202 591091232 985347713 692772502 391051755 816735603 122076960 945507108 853809620 416699171 363347791 466810621 491300075 253205335 312695521 198582643 282539902 356889897 286262914 759676086 441758589 421142655 337363355 618270059 163466030 692319384 251202323 672436864 609209612 381491359 669420446 318606353 710737750 521570488 553481608 852852877 228550548 917608596 664530356 457496686 211825914 224524992 607229488 788884136 615594284 999391684 654947828 217413023 131089183 118462759 148150447 372963355 100267327 891165656 299230890 374308717 318919150 946583919 488068109 903257317 336878378 796026228 720531488 664238834 129386069 302425736 382773282 762845770 611384691 889641144 960392816 233535076 306220400 203836197 159960849 130753377 377148165 553858232 102143922 843764305 161485206 366140677 414577548 213325843 512831708 186306981 861305105 985022890 216579896 886738696 429156475 549968023 844630165 966672949 129291784 398687390 923461708 593223178 874831231 203767334 739827276 354629254 344989652 514004639 670838367 910419522 878722567 747250433 632746359 174691034 888985033 144155000 854768744 774952218 426710223 644512157 512981753 977626315 476547792 838384657 954801594 910929014 378197466 306914419 742926428 460000445 755840166 447540365 297943214 691386994 700131595 388536659 672921458 330339845 256005392 473325700 226625856 727186450 605761031 916184569 724095750 981504631 430014480 800586492 623165482 251866292 953629913 149653337 864482883 212289949 259012039 593280942 687208999 272154168 602184645 182698646 627804230 579555838 436995371 579753376 205784784 787757321 170964392 690682364 534775247 541425824 164738634 340396910 903494259 838105710 309830878 112560296 859999550 843339478 839499689 709096230 836950509 445369687 408003858 416239773 169195402 286165733 470569113 967841563 985413108 577952031 460836156 886880893 695664414 732468641 990675848 481428536 646149175 380791768 112298564 898337696 985752297 925810258 462941161 663002468 543032170 445825286 775506610 860161976 414508107 213208708 568089243 978158548 811453417 474502094 513160168 285572640 106629306 320500032 967598113 497750834 820851246 506481839 582050946 820009086 194965648 265661702 366314677 913688984 430972746 966626126 445996179 256465858 153902815 239743020 992493405 209324194 933611375 559599977 637591574 646482441 942321104 672181071 469236461 225757959 829993152 692590879 176971990 616784252 341077528 551988483 784581509 785893340 419337820 617898221 395299466 856911542 360040373 191844329 143420935 359770035 205330066 501369397 444201667 118576918 490706827 234814438 721451900 949348250 295622905 174131639 767774564 127012378 172354547 215878798 456014723 875789120 718539505 773369418 703822689 943699894 572339230 898938653 895166689 849774400 403047008 341717627 841205791 526212355 193057158 324520668 807983895 900270036 674840348 854688366 860851257 967996577 853657897 214541580 157002619 814114685 965008747 121442057 162918697 219212392 173918947 333063279 464786525 201250232 642658689 952580183 493304161 800076399 459952032 653718468 746914300 205291727 810183945 915733581 781254674 118061350 512485878 145447062 933658056 221881198 287250279 704299728 296330186 870408795 765459706 933037262 364946065 188392126 324662623 968740955 703378494 209180061 708023785 259558983 614019656 552463277 654633611 471453722 376242488 111765006 114625862 154300987 812643790 489341759 169441855 665595888 261253560 695846579 144022423 369908738 225493931 488012010 385076066 550019223 454118249 701637179 778058333 751246936 340011247 723430405 309671935 161336512 701376482 805288279 345883626 187861116 759370736 452972182 899748625 779153142 188582112 112987588 297239581 410040435 118247674 385432373 474406299 266611238 869886839 628262090 796595106 528449567 206604676 795988428 265431414 158231458 975278184 761450460 122499650 881360972 458668385 985443919 336340860 246492654 683380755 725070877 761309994 478043357 563015704 967298500 540901288 508827023 136083215 573002232 354089311 283354445 911036567 346738109 941711619 858623434 533576654 598365400 927676931 198122349 565028218 355364020 257905165 219376678 287313994 558005723 816776079 501964148 816115278 453194076 830739097 731886579 981497770 781434901 411233993 163435867 841322964 392156263 318767014 897529715 544943706 916309107 359699544 215051206 462040496 370460582 474554039 895747721 817299685 874803870 908024028 658229307 146152830 559116218 661880769 354813947 696019992 674259168 652115504 280693076 533723570 351823432 101117988 833427031 593341375 511010459 572666336 432916170 460173135 628890969 395815428 891267945 268759121 377932911 893535693 626591430 628495507 775616757 192231254 372142165 216693441 278609648 258371060 116090763 224814867 516213191 124064514 707635523 953743713 967579526 984527350 102627091 896850850 667814445 533508502 865110643 522272806 507281395 582509403 716805728 526446686 833607046 904031914 174260293 160478009 301973382 746760517 414770353 523194212 969612139 918791644 250408590 181758392 521852118 422655684 673299949 754286693 750728156 996285238 514650476 551961190 239290165 118813301 914279065 390903773 380922250 108328656 662502390 158226269 539595956 606337534 959821631 347665825 851623351 696344368 883322992 375432186 475931174 157859279 681520933 678928607 591903152 807191741 126899384 734576696 846514781 559347522 103819619 290325515 227794151 725465654 248351878 750480765 569860872 505872319 701110832 327560216 131084526 742101608 514754959 485374999 882844145 206503986 206623776 551400196 610993663 293519022 330894128 860014263 427678983 842281518 318879834 492272822 478292137 715502354 520959838 567401896 422913458 302329006 476422381 597898801 495734535 719209293 401343519 409077470 169144848 245739130 107186175 562602930 642943880 956014186 190843722 427278992 306621534 359668924 522438628 831712005 510842077 261199625 401943637 399276044 108312645 693563482 435714138 549620997 441720050 479536391 644541430 237492297 345834338 252573758 788595996 496189664 107810776 877934860 727104538 339205358 552657881 112807305 763839073 851611708 330364347 473820495 120810125 295261623 194392313 460683718 771994282 598031731 950184515 179688626 948380642 216774544 215810324 888909424 410911683 818642093 480852265 691011202 313476351 959818554 551979945 291732203 723109601 127715637 380177312 641534889 580978498 649626943 545972584 961145943 868239283 525157681 233396885 436520560 121170933 966131325 897074741 723019956 866510333 462690649 202645888 721712586 386312843 677324900 415867097 469833797 512697388 782903285 968559007 785247095 316364565 782492447 377048069 616449301 947416291 500579550 829176351 480799548 352873446 411222804 723113580 876887132 294584783 503784937 980533356 730532233 253375765 379782208 359138255 977970437 878687632 156845771 831009219 946263834 862912642 689878237 279549195 361261288 647993435 841389346 324446463 123259321 385514599 526769694 754050482 586076052 719820187 232075345 980445552 621189937 382638554 207725800 320667758 129662751 885110458 120876869 617884785 585270862 450319400 712609279 159745829 479384658 864884001 335865014 872724447 323661115 223130868 899383447 911439491 801769867 735992328 553640345 129326491 541051665 119710498 630281632 747982834 800801714 326485662 278495865 788737013 456770417 488457704 836585357 640025278 647877278 785717843 369458063 402080497 348616435 197307832 880967492 398616843 480738124 904541307 997530332 797096897 473959389 583873805 664950402 688494299 155379912 851281808 103216343 953556419 617336519 317169143 891344495 308023268 737299037 847692148 529137813 645921886 248746297 581499894 272798950 835600050 273597900 881075640 891688425 167429848 400040258 520963936 560330228 742551548 438764762 493644821 925029524 599381620 767949998 373175692 626476127 552134177 661900672 391658961 412566784 592088471 326381292 838219474 790857709 286655305 754397701 638236373 185710383 981781593 469664481 531919470 756302297 968223553 165745397 393917427 472960288 856428005 312830710 632586873 476682093 168654585 719519928 724484021 681198387 857899791 397390737 778862806 350610913 201357454 551850737 805708130 720490248 810562728 248744672 655358782 607896817 984178714 274096000 745638272 808668176 926269171 142661715 964101928 132117184 115397509 782525469 601491244 298441780 560174746 995559442 548079731 955945700 217094717 393149965 436472596 998331430 735543440 229087630 724856284 340445299 845672429 564230559 236177701 953987656 461428273 922122183 228275540 849022162 878624050 944971754 651384632 127641794 831257054 567391130 415253753 915609979 870907295 983417061 370911985 968507322 325573426 415148518 278981001 752981108 238158496 385698479 747062067 992205454 815181633 214283596 598979132 827973125 642025378 215322830 618564323 167317085 103670050 763395045 470583223 630921047 683083466 267762131 817053053 571470076 626186311 892265888 493141075 714509473 452696932 806221585 645764131 880893423 283029341 886385527 326026112 757574966 641179846 582738754 523518344 176327577 846487007 711341420 400542700 734931326 562481480 330836889 733352559 974311541 315000371 692688174 361319272 671311478 829505143 518862303 309254910 491450629 248355324 688434616 424165189 503405084 589285734 544613938 336087707 583636342 732692127 527187815 384927625 583150850 407091003 169213250 692878789 744183182 828260348 435044687 156885714 699012045 538463724 127429537 441030615 609565454 284144029 601539146 492651149 123535430 403515580 315440694 643481125 542524871 175683674 465041242 771188947 282196221 529222683 789513866 812391409 743332311 241508975 238778411 413570679 622359252 554728415 803596008 267608677 829980862 795967692 719991311 445447807 592063075 935467391 663500392 804483150 838997598 205554007 387093671 498052824 776801777 924383877 783505785 114804070 116566551 397334544 211424783 409907172 892476170 281382979 340386039 292884041 333376212 934948647 890043458 788945992 574148237 299980110 818573536 796645642 953293730 752113794 659801628 230788782 542370330 977096073 341669255 826761515 466404032 550740025 949645088 894950684 186473077 276712672 299759179 474297276 518561514 871292750 355395370 535405068 905074647 976750354 386523696 865405703 208357585 420321288 909352929 835186699 757135534 127096874 561081320 341832122 425547645 548719090 267435432 825820752 143618593 246940542 345953239 861410296 643294778 175427347 204797637 714102576 925461317 738451327 780995792 375661183 518547158 712363465 554658055 344387078 431336917 793166595 291982609 443637250 388469147 327449122 478956058 209594547 296345462 797440474 778712315 154949078 415619066 417720596 186858844 310275957 839944179 676936927 886129829 316909954 389719165 348622820 553087903 813150534 201794258 228510707 894934951 833790212 263370555 126964389 397351354 106057433 837453909 422595466 707509874 696441875 430771450 454395300 757447200 841567872 161395169 743303346 760856517 438224583 946984103 194159434 713449081 733725102 493808280 973306050 681034105 730249877 561086321 115582354 367710775 180010554 842485620 438229687 485675262 444234116 929032185 297194830 555864414 400157700 303413390 170636632 333723026 181566049 141519466 249221980 610969599 749173442 314871243 970421560 497191396 346979976 299371050 741898422 951781421 943761186 121448781 799053165 369971039 626703383 547335159 390822283 665720278 848803004 428577238 353853824 521755525 644142738 770095317 449753765 125359033 546759938 191963652 372636761 256345640 652849415 757941553 279779658 285703578 109473251 521799604 274679859 996789274 541176105 828041134 421377745 979050165 207668778 925829424 527448539 217722944 301188002 346688933 140114611 894552977 487695375 611583188 105378175 333953211 984432135 366924975 455932778 139980178 363708842 440936912 596756256 115998543 995926581 885280684 580962519 686742365 778649175 820530625 590367893 443853237 620633412 970024855 934360316 639708582 471530336 142605915 538899071 382945584 695516287 997399162 141678106 828464408 147406632 684586622 434392415 336657303 786046022 676299891 436112479 343198281 280867890 835244850 701821935 498767779 389693742 103809024 160929288 948202591 341750023 872542758 753005358 977665919 345655690 982430501 939359503 488310141 126939944 659878338 214663108 791776808 582034283 512341578 408507274 993412800 925787788 397481337 922820243 955573928 824941835 851908521 843931086 785745650 632485669 468279529 626121355 218438925 351627006 811727597 957221441 889691098 694034440 226670931 612718670 384003260 231440122 854538930 197110729 833372474 816174877 899036818 175285792 339937101 953692280 546814745 325126137 956085108 428347877 398975429 706031450 910317425 148018443 873206149 107212358 121194367 608250366 424700588 788693140 395098279 367949686 825524118 290378771 478628211 622538219 290665022 961765093 297968641 505930841 999892487 188376883 896142463 203969476 369016655 708340276 424497158 676661301 588567858 298212107 248852792 211124321 884506287 192341639 746422454 487993694 754742426 118691416 338395432 916186091 389508219 164879912 511001070 939676863 270966199 650980094 157621356 731985347 236505653 982035298 952767294 800398819 233188255 123742061 726542144 510227940 530466484 505383165 177377239 827699081 383336835 425170034 516535336 778815543 609051567 231134681 398530464 878883231 966056118 788587483 951198225 784106505 156065959 502788806 111958511 857727660 917961909 690865455 186308098 313912228 861448354 879987884 904572624 470065624 234448913 510641003 414638558 590661062 992642749 969492847 881190896 584750039 742724768 453995769 954076466 470667509 728908413 290521373 396789361 383697967 591401788 797346224 559605997 253909951 785151361 301499419 262102941 250593820 649421279 517587223 964046454 989677692 475209370 255009009 942995181 268005782 585205429 813551979 854638561 358707367 507424717 496416244 731460678 639873944 468158620 931746810 617729305 453546213 364105288 904882173 730488871 463802813 687628027 212534640 864309484 838464948 973443346 502011389 946477433 412057261 581844476 894871996 857762864 100920615 374107105 858407390 877965499 702202058 781891929 194238664 519550313 576961506 601133150 227473575 888893382 720491026 293272406 747351514 442951161 579584189 709159211 154105244 637361233 639188074 394680116 329239795 103405082 295325579 273037438 875867158 444729218 878804992 172865581 347585998 200681525 684667544 755412326 887763196 950552468 330404376 815842878 767359210 729861399 396948027 580090624 975273262 715606487 335261420 125716526 745155561 148178291 284635100 337750111 962703468 584692369 745008245 124123395 135711402 847523862 391404225 793260722 545569566 496092645 993348202 709743150 900180472 502696556 556479414 658915658 811797155 236523694 119086459 733184885 626336223 424270681 447517915 671402554 510742575 753015839 594127717 863174854 608441725 542305864 203280896 363078921 986740214 145802644 948038940 880437582 220110986 821102218 228261221 273690133 122051815 534400328 323899693 321110978 694000675 726215969 911548438 294097736 135249433 391289766 842988063 976850404 386899569 270628931 617539066 977364707 517836242 562269069 675150961 502976960 788523351 609058127 577002429 179771742 809116204 238895518 487768145 638748490 513269119 789723654 601672812 130158735 192897946 988267630 713397408 727862016 821147462 807424983 643423189 644090052 753218759 351885219 601432253 182147388 273520413 457250416 978418707 470877782 231442563 299855086 560477059 180623720 200984577 348594265 147476375 700177455 170686603 697779360 311027769 633925239 881439513 512411417 561046719 417259701 533923030 249054585 505894463 112359272 683250510 604965601 709150297 368407789 658680652 576530694 193807167 205154771 882259127 296443136 252144644 308767535 479648913 687130685 910483676 451481484 853670740 936266133 219756249 131949744 350799147 312994292 632866327 520459336 853231909 606461756 759750394 966664848 386403011 268395357 253741616 319996214 329160041 130539106 747550635 723211360 268531654 214416804 458014979 288921592 596292512 833673055 850385710 954740581 797587391 998273644 238905245 640952484 674327406 206109793 364531680 858536022 849940882 601807773 542087305 727535481 714644356 620316286 428422153 902333395 701328330 348569183 764933865 259806485 212993829 714208296 671902243 570973310 749713873 557233063 125373931 432096711 277854903 522001146 337949191 361682538 885247326 962383268 328067265 621108865 186961644 139450108 275074154 954742920 888927228 567094591 266051488 974619841 653848740 754580770 493102334 505895404 792196452 144336311 145172470 102992442 112424311 748196735 749856209 955472907 138647107 223423140 873439191 165220786 508103202 453002483 867574802 369378240 189123833 889040135 426519823 692261906 901175614 914266385 725681814 877263210 145805449 879021885 162220263 324252669 441851175 898842796 527687358 796659007 383849304 207565673 145560959 566059071 329364947 869666809 153058775 642008691 184829204 113821280 647954113 351553092 214835328 707519641 499577632 886881929 118942927 994467117 341386540 410372029 942030890 420584519 320937465 473307225 734840826 954087401 953487928 900014259 786239882 480231782 751104324 678764364 912660534 669666220 620214163 372112705 231142688 146682005 254166195 434655597 631863245 953367696 978441293 130412729 546381654 150903922 835539053 863073071 925479918 218126767 988702868 910880541 543589042 429524591 935502446 503326878 969830844 645667374 505829426 896578720 469959888 682760849 254152638 270791750 524120631 805242364 828587781 479738212 776320446 702171845 275264286 207991472 494430128 680870878 139312420 587737130 245443559 971048333 512337234 396944619 839316723 907418125 161704553 277207032 970289938 491316689 878445323 863919487 993069058 238224974 569768435 279128486 195344893 124980009 237012341 805620289 307526920 259470292 647344154 190040989 705569902 107205074 786085842 547938346 813703327 923197442 284863940 533172326 735051141 482868489 493198692 706579434 984714953 652503571 661860833 171892025 293814796 354747650 762605269 636917896 487506475 894797371 896430033 522124448 433783114 410340017 477549958 630189179 466126949 185010473 324632931 804617327 646537420 694063450 128369702 779281972 185474280 263002238 508807518 890036063 457100736 113630823 422570204 373941271 592860274 410164231 845031204 577652639 475682723 138012492 289777832 138705030 991720351 209363117 515063475 119135274 822453916 977304329 590958512 783701069 594348338 118984823 218322941 600399308 763529974 305423107 766406117 989414118 840802752 494688721 742412713 971959169 797094409 225286142 147815500 416605719 176100567 218845412 272602021 434284173 744939491 209002548 299121754 520833658 509420547 385728027 899072548 133629187 456256177 526827600 785620279 639169482 346839102 348982401 349080303 556603193 567163850 620148794 161794951 589978000 438841201 736707207 780011050 604292108 238501835 163743134 438786162 126315922 505611934 995347600 792245496 102601127 495026475 503075295 705148995 323547933 662024978 555766666 708281950 578579604 982544075 877150963 210303695 974311290 286604317 750877971 858004902 843569373 737684479 336224294 657318652 102627098 686643749 835187305 190657423 335625914 950369464 433529873 908415244 911620335 389466996 932495575 900224768 345153265 643716284 191752546 592950462 153617293 358907872 397089993 699535794 796726924 691575548 648641158 352388127 662694990 485068420 917607881 783768973 427579077 272499125 359316855 113716982 947036694 312209113 433219990 506404357 233963136 325381718 108285555 960905031 127565577 476667013 879905568 702371473 675794741 632636716 544205269 347700008 922310988 867550514 122570507 185264671 597921654 187187605 279050383 606294676 728332494 534157185 727256945 714395144 903508803 108393650 424866214 741232042 500673410 800967088 225642843 541750633 130857337 525207641 616313145 434030890 695448845 865855323 315665104 157462538 458252805 614747619 994848706 628923598 487177288 806198540 428278196 970772221 614948884 207091640 161437029 553481473 867472551 810682175 524539086 717099792 724084328 658273553 232392287 877093568 227517315 833941921 731076642 534243493 256321177 472818824 964589843 654362590 103417578 903114189 549985506 527683441 213434410 807744747 354428046 750402453 319111203 269821366 920989156 305868126 435112469 943571051 921442046 702257629 551241431 294281146 360167866 690519977 415059338 384434048 611775522 309276729 693640153 667254981 175327462 461172746 888724866 443579317 335587711 865573087 352587970 708530888 430630801 888677399 378082648 142754845 924908784 769190942 200319207 700737286 753678447 257832542 660266493 186562418 856412237 758816170 493179621 339113406 689436113 389075199 656420540 240782713 435056059 657118780 435462879 929200742 487860582 576342820 166164710 276591335 222552120 569287951 596049577 858447538 234127127 473451397 640001418 330182608 184949946 652699801 125136020 752878350 671679643 157190656 974454130 666961133 519987532 618999095 304210441 787593231 393733795 915904888 114243804 880612297 820320729 919137323 922252287 852077377 182924385 807362275 228529719 651790105 359595100 842602507 982606137 587312534 622344448 184703572 771476255 510683961 556745557 515009240 692507736 185677644 715980589 899770295 815628548 325592354 188388675 865319584 719089347 524986247 200837884 576323354 600565892 891036130 455945319 400465874 994110237 212278943 966439086 240087904 664171170 268715628 539974313 520018652 788846117 922535656 429122144 967068754 415696444 838488820 284563799 403733604 896016942 637296522 610470342 956798641 756765881 640215949 750064628 267966742 119175450 623787996 773102625 168379590 147503113 670215291 218377137 340568726 461700091 485809614 749694570 131838108 235668528 506231223 343808717 946540360 429932765 965859269 909817171 564767663 520203279 375013732 932510965 326618465 126403845 397178490 719114821 692883684 183067723 382530675 118799174 359418786 756602619 168850291 974246334 410422449 615171947 819055172 212677961 174802396 409733212 167796135 494222596 494634438 552865120 608606181 866871846 632168759 885816219 468547156 100011580 880655685 951130742 351604911 936427174 170979212 668580322 255969625 258816193 259810257 126954010 585889682 100572460 102873847 869263778 471114646 219558192 462582923 223168352 107640981 825984455 772168487 205236296 235312958 177445741 344469646 871192310 384392908 724247000 889073788 504712655 229333751 564334459 221528461 128277779 290315267 194993593 253183502 554550181 498275362 262724294 845920303 134751197 399550180 968262659 861004726 832523233 362192970 270226271 958268970 667450736 484786968 760263897 317033395 989016226 787950750 515041082 717123177 266883875 611914193 434929209 402389960 419977221 866204278 324524297 649760269 470370967 518975382 218873650 715204495 165428499 995220258 997402487 853608212 670762651 112574460 292452824 778384758 649763668 821996569 211462387 974871815 190878370 587810071 781944441 772493608 426943586 456285304 152955245 658139774 602825746 262101324 515065610 649158541 449753030 282146876 672196238 879385586 848266765 973319599 555668792 258179450 261531395 343324878 666849647 628220864 611398571 891878370 846777706 389777998 737049233 542294865 508747153 841577126 266444801 307189026 456949039 157412108 950641547 266883363 225069108 846332703 110005639 141687498 397758936 441958917 419226201 783429682 339543808 855278706 514012984 600888522 455260896 337061608 471198595 657414977 238528879 946344617 778716398 723885482 101123951 754893034 642765725 932312202 284152969 831826176 933313533 708304803 418178346 834220975 346376018 984520588 931217788 277626585 592045077 851624302 720548953 825818580 604466166 391894514 354368683 514732574 432717657 362329378 365674849 332583723 956561064 807220180 628461231 921819994 874884461 380116804 301364487 890634148 744627289 501214839 515927231 147443368 175744955 745323725 144359119 625493227 372859179 473257735 710779191 137784645 210955502 897701179 623084259 215232398 661292810 904698186 943733186 426304669 355003523 967872450 917071888 943909092 296881968 479638017 524876719 238696309 858361740 579424674 188547994 542009304 743426823 879254777 564416172 118507792 750269182 565561587 524772608 892029409 564511530 926315026 298185491 290835354 129276934 105246924 862144956 280558291 878777934 608884378 992820202 478937072 224062752 756122917 565661074 393169021 235019197 864556639 897368518 581207342 238027789 344620106 890699552 326724934 746047617 939792190 672850626 499824359 773475826 240743098 839682342 952183951 112035607 802711008 827156821 638702406 566740904 843644728 987981049 751010095 104659069 218339095 649411409 559207279 667516032 931363022 130020568 770064965 158388642 860556482 887970061 525638564 102865556 303865306 841561221 255317935 241737947 699859521 288586565 573549874 927154646 914005354 167325041 439372022 455962022 454759237 445502180 889051635 306354421 588328889 977187761 295194801 768195806 861574980 131971206 255474341 928527770 795048678 233806559 267804803 892721948 823880015 359467824 486603502 560659456 994596240 551436130 811428307 778986942 684069603 981366675 792959403 441402019 456769706 571272480 361729626 140158266 343850077 982123324 381171922 485188806 788316044 948202545 798116163 893938793 515555406 554982018 308863069 403685790 805143826 888670955 776552160 392368973 216772757 632598532 577888988 835104251 886248535 293454617 829668636 209602072 967819109 345533118 687727366 985766524 888580848 215586443 513877182 430887699 528788776 276985855 563959603 818316296 286737665 829758747 345641568 792865281 491200618 486351730 706519027 819959308 182104101 868691091 923569674 442918406 395234787 211476592 889376660 331667514 392666086 751532960 938290082 143076500 477251357 949311089 791492713 233427135 372760458 207612453 187732429 978105582 292368916 922887511 607804305 898461737 701191214 719498303 484783501 400109125 814883879 661481019 795362926 977960720 940669966 259538364 669422828 174385572 324787835 321617022 505625699 861064625 301062221 431354167 251046927 198076960 818464699 789349519 733521793 717836080 455650875 377456874 911815241 657026573 807301463 252789892 807010663 935863046 352337205 735747887 323336608 593260711 899188878 638669941 866105925 360302396 541593641 193848831 157085572 489822319 437581642 243427454 173455142 224049497 633652321 955721434 976113501 940887255 312776352 279163226 506984089 553082554 578093110 227015894 358929172 264999136 656929781 105647240 767623688 900562253 332328216 405878962 387781467 759566974 346116114 322147608 595997720 640355750 316398680 522424031 161924559 550209931 116063439 855335830 995013677 457398095 968827764 859615083 514882786 479535493 746887343 494334445 239281694 807535065 830594371 321042589 498663047 758866047 425219163 691229643 421916746 152549943 732957055 750380527 828780092 195203564 798058868 626441133 825530947 636728121 410665509 687585060 114116693 589450790 898455177 615331298 300744060 605978724 198958397 576206829 715550995 519713396 292976153 755572866 154942937 253774655 288489715 344339954 543854274 789822273 970176617 383493034 900293076 570537569 660582705 268841483 743401848 689573838 966622014 910573784 968615328 139120829 247151298 121537792 814130648 773748345 563625552 514883563 668442188 819788862 427129172 426157787 679227071 163110515 610437936 851031805 623443343 846444231 158524064 878456073 185614623 307824718 299468494 233074466 713953496 196374291 275967933 403066822 668175857 922203342 803756263 312963913 648194682 987143879 826336666 795666481 533811009 520052085 889272018 435392295 565576364 610577925 879199339 666402919 392560698 660678514 983830809 588723108 884492611 382596604 643107033 261631672 487465607 234056747 967900763 859459552 188913941 893710770 978560088 835503090 866536840 735072026 948751593 339979333 346333346 955562933 506744017 853401700 231510400 811623040 402290081 791170710 419122348 198906412 161380479 881727233 328469705 103554996 905964129 422762959 743527636 217626789 160528847 636025267 659522854 854446787 569337318 337964790 292388153 302508852 805994976 220157475 855105633 417863916 125360747 448408814 691407453 743905674 328270107 404880382 955828654 627369886 333125152 832436546 758708357 267215866 871569477 217725873 850473171 832136476 662386350 605337895 742365928 364302323 205761857 585152201 876691974 331668283 909742943 887598537 700132821 108120187 985050060 106635708 720228220 854686901 403541402 613159393 939590158 902042512 656826526 623759081 968155317 514775097 918370304 343727493 503449591 918954278 952620066 934773675 581598565 603041215 327670070 940115005 279135942 229652123 584195186 795481681 768300453 172391698 633128023 627398181 216694495 105135097 150929771 665202714 449361014 202388327 767109641 191875229 954632533 342678288 901536485 708501777 108425355 490137868 712578248 452329149 908601419 271181485 176134573 112268903 432775331 822143182 567276200 761749170 753694896 724887952 677119552 357821131 518118910 794993660 797068681 459707300 326454041 318789119 737377309 519782866 542505120 295810561 659181434 377087893 519617103 154866718 751588080 774609322 695529974 377374367 465246661 246417016 435716391 401251488 474878406 654553906 227173874 242180037 419566611 667161586 350750743 238248460 147920691 770000625 437315477 681738263 208268021 210965824 918457379 452888040 454495726 642752322 897848347 940378991 959542137 633393486 449689502 346393575 530239430 101535352 619061581 825736469 420187066 307921766 338456022 763101476 414505522 809530751 275096091 243835983 665094372 163648184 721334681 717102097 371132664 189033215 228799199 933289459 628621911 951041868 490264189 429443907 682268419 731753761 356571700 298429298 177760029 447225248 674718834 910372736 171628832 496199383 860304340 956022399 582893622 930321840 631223281 595152377 796126061 872204194 978532919 781820104 906238711 706393424 790737270 796976665 535177954 920979437 464480888 258498997 939596075 816169258 779712725 384693583 345348354 966882075 198584245 339156122 318911007 231079905 969128298 705236009 527484673 440351612 706764999 640589334 809397705 773540900 907870281 882341164 639299798 428909750 420426752 102380732 400916885 593873943 735297624 506071255 268666260 764244773 853823512 328192580 156356438 730657048 721473291 671881780 127158288 123553787 139181209 917529933 683304213 976044799 345724033 786826453 134973234 648227580 353481490 219395225 528270258 802320163 245210321 214797371 752406669 673676600 116901064 456809862 360770598 618092793 502782641 861434535 190429825 873831724 925409521 999361043 636337538 407695359 399769611 708055595 256225308 250649309 180687024 136311952 304288677 620346375 982870728 749229601 327338246 830213657 707039459 918793169 160919803 370962705 789251142 197547473 585416537 294618686 790598970 782525990 727894046 260431980 868219629 767995071 763740288 494921256 777261756 874428108 155012550 515256206 497145084 117558104 187330282 218583886 563746996 978052652 507268385 290609336 872577181 671615506 342836085 834201023 229520210 393086168 483507072 647333896 322552781 159967372 315385277 272921300 870208068 923190624 583534644 879870179 694187802 142280849 406808576 109748551 185153720 581250252 348166141 424194570 815086538 154762422 653439168 265729073 569269999 127948056 465361555 880121159 548398154 333878989 610938018 418590333 961545008 427873985 431319157 636387477 924947891 322470595 355033235 400254159 556488110 496971197 904241358 494463381 696788387 563777540 309395111 242468108 504881586 186641195 537686807 956296581 691669021 149942977 930130316 913532914 200841612 775991391 548322862 835457671 907630153 715011328 730620259 768033266 975462713 235864628 176231161 716985931 696331447 244321092 118459873 971522726 226002831 560472056 113204768 195175045 638410567 496270327 668123850 688176841 369683320 299257114 319582990 317309892 486224356 206397138 492531055 823733065 967262216 729791407 893328273 406031219 832179716 561445276 474042020 448207712 308908394 937335854 800812046 389387546 421964879 157370661 840990205 870084182 852956298 610324973 189908475 808328976 281734806 908279691 881759092 546872370 687505423 583470531 559883947 625587267 141554082 233496556 169330178 759696575 366063192 820177336 924427247 787700067 975879646 105629649 793928754 976669210 964111073 307099465 917671956 888482629 674408717 329795601 415796254 256291762 443569884 920377198 892752807 707161282 932897941 791648719 812131952 381946143 513231071 781283298 230749384 240433645 592558993 224880509 457452008 664113241 576936167 255481454 875278680 698305823 695073303 315723405 838041855 921341119 410807179 870886664 514474891 129701181 579176118 290494949 592410102 935234922 372290518 769648075 464876072 880032197 184982193 650158620 735979534 831256371 406788255 951014627 111053634 383815658 214179668 898818153 541189318 483105576 702233021 152756468 635346042 384429861 304908865 164569378 487583882 920213245 222401283 725946252 101204091 364888468 956200952 145155076 978143816 980961522 125407347 450423911 848614216 969142432 671317745 825149598 470991835 808260501 135601610 194596190 651488985 927621302 176146130 372571705 453374341 130824888 885209273 277309347 652851880 339991565 480453606 483694834 187215278 954695906 147059281 397096247 375754425 119726659 694830507 577440602 663667388 761955472 699276507 129963652 930857501 353116893 367462892 841497004 457120936 674306383 994340241 825353327 644604201 679691597 102885145 705036896 443358876 918521902 327638745 294453819 608891022 766086353 328113705 771721148 149710526 856121785 656312226 189519194 608704940 297981271 112669901 101435644 377133453 819238822 778916835 119811978 696668772 515091555 724725182 630854532 132228766 458415680 244976191 623218206 100699509 788556078 411270390 536603424 393993980 957924602 278586926 756760888 973888141 760867562 954596055 905824497 534822063 758897103 799471995 806032009 264819424 429813947 752706469 202370170 782313482 824423333 822938385 282871419 368404868 900959363 206267466 255598179 401374645 293897182 805887133 452910183 844652681 365042810 948021243 563293705 612495434 286101876 253981856 335608431 449890686 686041208 888305758 733844858 264728080 529135158 819239728 522012972 991649108 164062117 344908685 970509803 566372064 158915635 343340702 754245098 249296902 548298499 508662262 227386130 391184525 812517776 552379398 140006028 510420318 344850848 406496385 255567278 539259368 103244597 408333141 147967162 146054220 224550765 982810660 457030345 244083327 370135438 398056925 295261181 692186040 350578192 419551753 358504824 677915381 237565567 989715097 387090614 524588197 863546571 756434085 600080737 646203434 116416783 885687260 432235963 851382678 162488193 647891401 856143199 853476462 627797568 193838278 616289740 782951871 346623026 619632540 257824058 888985654 115716138 662445911 671945529 117772260 452712106 415734922 257919334 781914207 982012899 847971198 345544726 815529382 713798550 119783654 658139589 408877151 983921742 548566665 280559163 343807311 352903365 619512278 186837669 249373626 202519831 685183272 758443756 557922190 626088156 138454574 726799734 230304655 549311498 776234703 213563120 553096791 747879994 782363460 566296275 838363449 553575360 650528499 683904838 748795548 703155234 221950167 653252480 196976375 853052676 683780200 689945485 561892863 181708370 124820196 745560707 297260061 409981686 978605852 306513450 752931417 219145988 988759719 119541781 894698823 673620676 296471745 130706826 624651823 857423052 491249792 445833941 406806005 865853462 605688055 306602912 297661413 590133625 569279112 990454279 639287597 438982698 372298836 951703273 705293188 732061546 165765503 567033668 854271672 774418014 353127609 849437464 913118105 829910101 220879563 907918753 538866669 190169653 612770882 897680098 720232436 860794433 703215916 767942488 597173738 209831298 682211591 657901268 913811836 116343329 586924060 713609094 745726366 386143467 832397965 247664660 643139173 824376221 875602695 962425271 381225800 124897356 600162874 867357581 408058951 496584506 963621992 482806136 558105109 313528253 831144150 838215609 163266892 630478261 956058426 352615332 783551022 977649850 701086553 966696305 307675576 933513462 194236286 255845286 318590852 126773176 922181293 568994638 914021631 749046323 811623534 204129599 485939588 751431973 337555107 780015418 689833194 471280127 912565515 144042108 791090567 371074933 296669237 793171686 824529129 961247214 162748534 909056018 635987946 868402683 314346276 521842409 226355919 761361716 771111717 681225153 428910383 153978581 212787096 159158128 992521637 525214151 739501673 543270439 237330192 430540272 906235008 364101680 606993212 395023002 525162735 609762427 916470575 390049413 738917336 705048390 479092732 864370972 496742083 824273639 493275962 274302596 704145941 560869653 164609577 384674935 231801148 680546382 796300189 405419092 518353853 258618829 740346233 105954752 674496138 463080467 431241659 120138637 195425392 812067675 956393654 952335159 453602836 654826542 649857659 583699245 175315493 283028921 480813623 356639571 741709199 424289429 883869946 827564726 692604710 676230183 538470838 504620942 617623302 240552958 881511135 818194196 563467557 520741385 517050080 794880668 910364088 382510025 834015163 233152758 230059611 892113912 166616382 696641968 188762223 311190127 919464381 801623576 978606658 430888721 718081470 702942711 191915000 665387215 609832326 768720545 168422914 258272645 305569651 252928085 370048806 919156896 709023316 667959401 205716952 218129920 202876269 750123752 434575028 114190122 804124569 831583727 168445199 786144556 983826011 773831035 680623921 471129671 157338276 623607450 916643547 398463272 594160806 126626498 551272776 596145723 533351909 746205736 700554351 522445139 906181844 882256186 457439655 148775036 468081808 321059142 305518536 563490860 347838283 241650479 556497344 106446145 541128781 622350549 225736974 303913265 369566740 968992953 583053935 144122497 554417171 796347349 631914962 660710020 629062551 359483153 148373910 592880349 442835367 892461424 254408634 294532162 951350101 668032471 480330298 165430678 593404582 287637787 427715233 426485779 731790617 130008161 928371453 352413681 598444442 936884857 850267299 900120567 742049745 962554125 364881460 644623823 992474682 501018883 447213767 797094227 911967065 849353233 977803592 930538329 217671212 282057814 177982276 898698960 877552404 141085039 909435066 368275898 991830688 215613599 797406337 667037312 910756225 674039399 705693436 354937566 368352971 445202891 958287155 654433811 593354619 598672879 769423981 495066889 771257472 448914936 421479555 276132496 277860067 834552647 672154548 639473891 481224003 494177201 491694939 918667991 974358457 980893281 918470494 904125029 375356099 417046813 567519778 869935161 553412991 478705814 773248338 525971701 102084165 416195111 605989929 752906689 420202448 314684223 700753326 195787373 850146772 950493254 107417725 510618662 925175622 539031781 661572234 868655703 753532057 421136751 989269231 808271797 571572560 663391524 449227649 226627585 362169477 299720239 481952974 506858359 990874493 760440492 235285786 395669408 928572292 375036325 835143629 611813664 793108357 208670232 440958249 664078206 331104316 244763654 913200597 281425403 626835291 340666737 402752379 878020382 481416302 815423987 111643116 288684158 830934846 122022354 503683891 903210770 120579147 649692863 503609658 693866626 997744612 201206975 534619216 486647138 997801883 941819941 980792521 695124181 584876397 997244326 130651548 928174459 717333358 880778715 521304706 360156195 972328435 657456109 433004571 232701911 397036423 392361136 868429435 735710775 815788344 159862411 845229375 394455291 650644260 201662215 582600862 435946825 977952987 739087312 810604394 702817067 368165013 353290245 346259876 792593820 577259244 814897295 512122416 178651774 572640445 124889296 340872737 138705873 782304169 650314943 998523573 593106974 214250652 460839929 764533084 542096233 130452276 912676550 134870635 189332762 870741129 799386290 364500324 300051335 592728024 614930658 267884119 975410772 890894490 799897263 978375166 317833910 250393970 988781070 303707785 368646521 932047543 809284465 737065135 536465055 592016402 260845790 470092595 507941800 102718934 130669257 992517351 195198163 747249771 540840748 272790820 365176917 436801027 188177600 190742568 870812992 806098618 970728549 166519221 872391557 771431863 266933637 337793490 202326535 883603314 820678424 133982332 682353195 352568295 747034239 854705676 106995344 633441353 988897068 329845761 446926853 108223703 568922409 279800818 949709029 886591716 674543627 934203869 738468030 304439225 406723903 776986831 897316847 676812473 788476276 786049962 678127702 573265212 579376711 709102345 919483407 600263303 714491513 225469004 868095854 350984539 844951655 673245518 512659831 617520025 413334618 950916689 748080415 457795022 228141790 875165273 739034713 380059162 516223668 536804523 942557278 574182050 389620243 973602877 543333515 712800178 323050886 509491248 694318760 748275185 135615019 596753479 819271951 406588002 465145651 812528338 197208997 313535169 324017627 296282879 160768306 833751536 497840105 801299935 562876367 831283664 135260103 797155161 362809660 951213414 909032915 675519446 834359347 892754524 470457652 131691310 104997741 982775474 665133041 290425895 965412072 182835302 834060892 823901686 206630398 385721159 884176488 444850418 966463856 451922128 898216616 982466612 320470281 897134569 826054462 609504516 894188592 345053370 488882579 206213602 487384324 267886770 849689008 512465746 379387689 412579829 123890629 589459174 952977186 929711420 752751612 750618071 671741846 158004849 783292796 899620314 266754685 765237304 842513678 980530059 101894242 621485302 167797079 833912810 628631894 814809936 845359764 354519786 207699693 430964325 998884640 977142334 594935370 503588025 282551323 449209247 139419362 257111751 157081033 535962065 121811466 784342021 692319862 271920695 787142771 914180621 534803712 596882984 426037738 518921129 671630751 345744282 508939536 368345648 712002721 408080616 941653116 355510550 169448747 478664696 943578792 823196754 999994819 934007898 679369306 836290143 157041156 494690822 834744433 186093087 866514285 768009715 327266803 360364293 176038472 627538457 597280072 874159496 323034954 402303291 249914631 543607771 538104429 332133970 524696263 921590821 929727658 837210810 306043637 578974172 567096280 665210060 443714596 347649226 336758863 179585409 296158917 363338811 258947667 814222479 498081741 811664065 986803906 924438086 304899082 449809908 311417747 678241689 922383566 519756961 333004110 771231171 609937656 995088087 302923426 758759540 438967890 829903990 758137446 327381678 449398675 942623195 424771985 657086246 928092187 731270770 518210048 763215514 684236168 945983405 160437670 941981838 349171924 758238644 801764457 543042387 127059098 104252196 955358160 826137905 121205822 149749238 222863046 685279827 425059120 350577043 532102460 398575779 298467512 322450150 264477063 695800244 295166176 422015042 262952942 316553312 179109390 252677399 736959164 579602998 348402572 265749754 559148813 676128319 930940031 514191295 168778759 485133150 938324273 879778645 870460119 676759775 713406818 360421460 515209495 471744245 481788015 185329552 938892073 566376793 710868160 840023340 345386820 297022536 739250725 193184134 170441417 862237666 872110794 378271796 454410497 371974782 608286998 446085760 683631212 756418062 327104721 863914735 540761981 339764474 208935404 166291422 762136374 580393568 839320786 237159361 585896000 345204267 994500596 969988427 590185651 549477818 769485726 886970593 237261788 492719260 943923682 390599439 380720663 657419057 945431730 792656943 269552157 471965920 433937131 429690723 829686119 574068839 133542418 930544354 733545042 359934917 232244924 381282442 653949547 406610226 974553646 921478718 207669438 642490123 508121229 417353358 140565202 206174483 308482078 730663009 153928024 755863872 637589786 282195533 291623421 171127713 907248639 280122236 213034913 498471112 865307262 947456188 739119489 778368669 337214229 554136050 959428638 664859506 899110200 939090781 886741061 132889028 483990912 881660485 852975028 870143945 292558869 730504850 593341930 837888853 438062304 943282234 507516307 579280019 841692689 873073428 569129457 490868652 962606869 964773143 366738506 183635144 683051280 665150128 339910795 644000865 449923447 491751312 877944006 409498236 176314015 903967174 210646190 500120910 620848102 611977332 135594994 395848151 492683141 144567928 666000816 574431910 363999965 970646380 431766465 784036604 763924316 476225156 303088740 782893080 421473599 312497547 563708916 855780544 978464471 618231893 675365742 348559465 406170750 989499273 603040839 631019393 710051073 518997712 781091641 415980844 352760585 861066265 955715105 667691568 405661829 414693473 776099973 465554215 177091069 207368732 370704014 473738491 864189520 698858276 693642674 939048603 149726620 251790297 393729613 849474172 304118240 679116127 667170431 240600517 479912223 211992312 831339532 471831116 741955112 610742610 376799864 388344100 630288341 878827222 531946804 763335287 351516697 965609153 407818291 827426613 328488017 990497823 581087418 862326167 433166206 760693031 849110297 471176528 762934863 566757200 169132933 354051640 714708728 123009683 797248849 717983230 545983034 440377396 370652493 557443529 138098351 520116122 755076078 858882317 350512960 701779509 581173822 296835689 254767449 876147441 447455642 181109281 356383386 453719564 153182334 472557769 229553626 429233532 676715985 382022539 763728946 283813671 450574224 843365848 837472968 592797867 532833553 391991614 226325468 209202060 786887321 513641868 244653542 917063296 697353811 212042446 624439332 967763292 769602078 873668738 185418032 576790582 335331292 865283389 937283399 374877225 126028809 445956098 495862327 434135277 814601557 718823952 370505893 630662334 941138111 843339165 304873440 488941825 884639517 641337819 559100352 195106563 743736605 659895636 128860185 260533075 438115818 307539760 704914800 199017841 996535923 471563727 982164329 139258746 920589220 810397985 612342303 453058925 419483500 264175996 663465333 485000522 400045447 868757187 721427457 468258610 631040918 648892035 422736041 894829352 628902953 590179343 777112181 886263816 608116871 969171078 124172273 246482659 883652065 292368653 221833738 305615051 969765873 162953643 456948931 679536597 914299080 488631476 613821701 441745700 284311566 254644888 240470034 655998437 261141091 804737805 920600639 182739086 262366411 895801639 993972283 409688463 433358060 715203967 767680849 247011049 150000978 455481903 818996061 944588418 205025445 488350673 813609522 916586571 588618610 497011475 660708698 369870474 346162887 647704789 487495289 926724734 707540822 794177008 196289141 712101881 980055447 368048043 125398500 294978081 988040622 913685177 113881658 423162229 362176868 405893821 178885354 921415642 266408509 943040950 120389250 577272223 192031301 279009207 271995627 920210311 278257324 479461215 507433626 864680310 115337788 734853567 118381950 971581029 953214440 609132334 358752257 953795291 910597147 430437533 139514453 286542416 777278145 830332981 436890031 396692696 805121962 615325303 886845914 918863346 950216188 687936795 805568957 227319186 187627365 844313258 461213992 859459720 955255906 873542449 870460051 542825128 626563009 346188364 877210967 121976742 524728923 434839509 435529813 551098675 739950510 742624943 113901295 827898912 456005522 501905934 280338020 596210033 852594847 380198904 364361024 616421559 102558327 870869575 979851942 924314382 427620874 825143098 256164019 708721806 151484465 869029706 164267006 308279354 986349075 625431235 145329396 629908956 902510320 121236377 651156914 240980277 949304499 400328339 638999773 336144808 263782322 183142689 662225697 206090397 991837903 480878823 580763517 375449526 784582900 610718400 817648275 859948313 897507544 235525521 928178699 829334150 975000220 632797904 311398896 166147376 870503564 343167401 633626053 820282870 626078765 393772800 132402584 354768472 486755210 293493063 555016804 103564660 390771206 731944657 786726873 555609803 999458561 409893149 534502931 456781544 874796960 590649405 571975841 465213944 384601784 289492868 568961223 992423024 793222453 323208137 564872917 604312087 712533101 367242330 688510608 224885592 744544632 379254086 477490716 122553357 994285273 836644236 529782151 825990229 250582853 578856982 562950650 432175760 517051531 940137531 135902590 557817402 401794942 880922856 832131510 216372986 787580445 735826784 861592377 370495093 796577916 226678057 699915883 868723209 283235382 159489205 299569590 549408231 108389089 427585206 896102878 463790301 585671604 404219070 596944697 247558567 439278228 837035647 700548559 653524410 775920083 197205508 143671618 341700643 388506816 382853843 428899179 678027034 832558340 255824056 469166131 947455606 985505935 217810934 343405203 927193202 934111563 316279154 751665597 811626661 666779156 784111163 239063827 359504427 726546420 541137938 964097436 954569192 839235481 407783135 576148171 905666821 207200994 305183158 486820619 192261650 980996741 890401161 917456542 501772947 329927224 532543111 255021055 531156647 935306377 205305224 643097186 910936516 535494050 766728622 580265355 972745761 545452690 849766135 202666469 575844934 654567510 904649294 978792315 885040635 765808601 733154885 899113388 375273341 268864033 788349955 888730594 257468305 433798607 705411641 707774102 953350138 730343593 913690284 876857515 297541227 238576608 271127068 869903628 297393272 184281042 555611606 365801447 674477118 288224758 711528167 567319713 946427059 763785714 711853210 377475276 835709515 213357351 410457305 827578905 996859588 769831960 647241722 944877305 704817968 269359843 437990810 132396389 648902597 810284005 625434457 711176063 202365810 777747194 465643878 720869171 790927123 653332301 750429894 259530362 613399453 418948774 192852294 956506998 935322335 725541444 215949538 678942840 920012824 986458393 150990001 296603854 809984946 418313401 451865469 469408713 435694953 265655154 989173284 636507246 165825499 655097784 884517358 876864658 437787502 160207957 725840278 859054546 402894406 291039620 810707067 925943112 811685892 185777378 263644995 784297010 828739744 441810176 984783421 177468452 705732135 319945954 471658444 260195540 844843489 856337677 938242580 400410572 591915316 795150078 580763440 274804220 910426040 696191484 152778757 467047447 388654724 756340949 826359871 974251405 250194657 888198420 870344088 791131797 543891816 840123067 363156089 113199134 585295532 440962860 517427178 439013590 541577090 664002845 706143624 743146726 183669466 630596188 717170666 458827472 275565935 114692925 853929671 225624335 619530340 209529111 312036951 909802308 779378388 370701194 327091706 651958743 274498365 549238690 309568330 338703291 217298669 982121630 605646717 514870951 567130305 342701360 282392097 711353592 719643738 235599941 519677409 691123934 826224822 473097345 633913779 391335075 318219994 622330983 652825458 397058178 379995904 301663787 860499653 501212186 757763793 560645062 621457529 753026023 841146880 995949562 676824605 541423667 354510488 587264840 312620422 864727165 622375944 508452421 478024797 691295068 567495300 890767266 855513224 148117168 938007912 212718521 114194068 815365599 136553401 127421009 595741884 850414848 827242043 798199973 158928117 787039195 545013148 647046449 904677465 767182060 946790228 189486233 180927079 707531020 371142685 730530499 664234395 123980493 413617681 698992211 718391072 862620300 656740616 856728358 173761883 757304197 375030459 813221628 687827318 777427575 175571014 546980882 375029400 161767898 371419049 465026666 442971883 191092652 567928341 346920201 926641089 533011873 989992130 996864728 604364785 109724868 743669857 730867767 772241126 333147540 495256247 996922229 246377037 870338210 970677592 736645804 895861421 184620375 658015546 494044757 872321241 835361138 662222204 883587313 973517281 908190479 766745948 292572646 836758969 831405900 681848548 996481918 865932053 497621354 874561335 168777509 432683355 116308797 740573002 177605404 822437293 306810115 623740463 377014287 269972113 800092992 713697376 344886956 760511899 464612535 376218005 399062396 444183081 843400731 439010549 135246234 268741858 933607752 785828058 765088563 620662462 401309114 363694403 794662510 766497958 869188050 856949324 408465922 296883709 985300298 830897889 972658910 900310185 551181588 794318329 709381313 531178859 752387642 766484706 170305231 907303838 887532660 762824970 353709095 706594057 731299037 640018436 322891371 673803302 783779724 916159137 122016825 779393445 841037983 530599137 667255394 384510589 984036221 536384874 848710085 675262572 106841381 952255255 987960733 221941275 594546065 460886135 372838511 812027652 210025818 731476767 260729852 922138721 687454293 390612209 197308163 551477268 558467197 390867178 379397547 912123826 536575311 498284766 751334174 541051234 556413159 807062964 502643838 782396438 858361902 959632408 466821426 988892758 187969239 915449533 944420904 147586377 305927806 824313821 454942819 869083274 891755645 338462686 223853793 736404441 779765366 808562904 686038098 818209793 314332650 861856263 667740085 227659319 873009850 795239590 536926510 755107782 434640246 962889332 620254621 483484158 502603193 249110036 975250813 825218536 624120042 155479563 452357764 283862861 394607915 297239069 895999219 493240004 393345460 159774084 696176503 831685240 808574040 325180375 106510856 234357196 927911200 686851750 471111175 308881587 144649481 483038639 167855312 902741562 330792153 201295868 662094066 778001865 577848622 644877720 522962857 914508160 433500451 341549430 941611405 724117372 961268202 516453136 439077869 252015428 252118777 129502792 750925405 494745848 418704259 870619804 460985133 445768772 874400122 178120075 183260703 400990820 236960933 797606055 821410329 289193863 952210270 167380614 261927940 805642653 708628046 818760255 534891232 589880743 270477109 663747025 503875753 171569609 401437515 296426976 909698278 665269384 834150130 721461590 259588231 854815359 750396826 984307436 995316521 551453614 535526214 616921552 787721484 726345029 263458835 933053636 380063720 233146122 224506583 828922070 624473873 579037705 590850662 448532531 935821496 513781100 619237586 857803611 703883738 792400488 611269169 168063171 932518831 669906795 792941593 239308738 121167920 647434220 500413811 804613526 611235691 104205836 769707383 440802946 974516184 625765704 752262823 503680252 925037063 823021522 890237256 973954279 678657405 650021127 886842756 941381709 947583886 991088234 188528933 400258413 710848236 456371722 438282503 565971112 357894731 579772256 288815741 638323201 680321922 208023132 710980686 497082614 302085786 852891042 962263216 679135961 479847119 459185813 722868533 424075786 300927554 225766929 718719220 492293114 802924513 888113447 765383324 137462997 323350967 142885396 982532777 147966906 767384713 217455216 657670287 674906670 852201432 827844351 560412101 231829857 696529371 956210272 814966880 888774110 619357326 225972564 881304165 660612703 501977458 552015600 942813231 857923780 972045208 478832351 735725735 929396377 905285219 165437391 128517463 810575976 377880680 961831104 516084097 873975968 329914520 853250097 771089181 899671056 306639415 675354258 651391005 906739455 246306540 120422159 170948016 501874670 757649615 807923832 386854728 644477692 309998531 265943731 592425161 752362102 127372783 696575178 182527003 554693309 128423216 823933406 254767973 952692605 352359646 262245551 108431681 892283440 943346481 333645314 900066113 208795972 324004823 207859964 882755772 452859176 816057657 949752122 543687495 868634188 986702931 563088335 701015033 671039512 352300637 421242621 116107067 114703655 711290546 989780878 494809743 706859175 755728757 771920239 313882477 655228942 131826280 849476686 822517380 915423510 387338619 469099546 964209017 947081834 836357095 788933014 648911421 938897159 234137205 643933260 625580497 910022640 960420402 188785180 692746199 560428377 111460460 162187465 961473111 698748152 858006217 520914423 237280500 861041713 321413547 108671111 361197832 694775714 853129770 240516605 657910826 621111957 718782645 638216400 508362268 385141342 519430314 301975996 475614952 194477825 155536690 140070805 814480540 610654312 917079928 275645208 399561566 438194152 858078316 391328345 474446863 564403842 754100002 183307253 115159155 518327024 169724725 906225577 795824901 361665259 827735305 507755191 611045259 722551977 966912867 900822784 767199194 337696658 815682959 770958522 498657748 426856972 528449666 263095325 527356261 802127956 738755206 397148061 457202170 835643303 456818375 514429022 503097207 777994349 741134275 245240223 143284957 887238423 695982258 660331785 309646523 244876379 320589866 382220192 915447475 306085735 309916575 630926223 686241738 352281579 841675685 718912230 910924710 362226535 518493930 916424710 909139952 573628866 688757461 136209239 562514860 896131812 165989185 605284698 941206686 329241043 258793999 896457135 116145812 238799097 337613175 706384242 163354930 369940459 900845516 903089802 874432417 953451296 876178730 115798168 682146490 955079928 900329430 163852621 111983466 189970902 438468206 805252997 105673775 738968356 637684241 932876111 166274788 629182533 524179291 456519242 344927336 309438193 269628100 965182781 660262169 792614772 133041612 722694014 342006952 134245470 564162832 381774133 907568394 819246949 179904436 987828255 995123165 423703892 670450548 944700132 240871122 683015124 119448104 877988333 516749613 955726725 537337295 647346486 160822815 217980659 661105728 262255596 394102188 510682190 620419364 272046871 211249863 233952887 207618283 839016091 155875570 427843114 843100472 656909400 695338449 925369577 234707248 568175739 782592860 817584882 855043607 138535351 926409693 809507289 272363081 348815560 701252386 382199879 998301017 156888648 350855801 107616982 431544879 376223901 805889244 631488431 653729040 215980613 943318657 395995119 451959741 550333899 193726937 386228626 760440581 496422871 116742719 789254960 355105747 676115251 346370932 567751350 534781833 723749915 184691827 930757707 245097328 874712548 224718301 827564286 128182464 537887696 828997736 100140252 111809069 836694419 522449074 500457854 837069637 491010307 866493349 962544660 657855543 955233519 463529336 278573996 816316172 768351409 986549414 700840324 963177777 826191296 406920652 668061053 532620587 276345162 662883648 619057058 601919382 580390453 181577152 563457151 741010079 498343933 678410313 683134165 855010821 533924849 471764537 204025508 493854127 129137746 722784711 102983507 357825742 101785809 752719126 497737578 503131602 276655483 125094264 593444013 956729415 260826180 601542386 109646501 155999845 874170421 111098025 709118642 349184204 273293537 787278705 916027055 555139970 158017856 887899490 249583869 951107925 826130896 519373181 781410738 182967891 791898213 761278914 810657608 847454452 684932723 205762683 793065451 483073418 313109438 128482289 849821215 705434910 709867881 132637984 252643134 722299065 243997643 102513781 337229916 350817471 759200244 976097689 432147705 133299781 877896687 543634916 882261642 638353213 154228814 382268563 514382271 667324566 970601514 851784271 665375365 598259262 768308949 251848415 144477184 220783992 522486032 741840554 727300362 950027625 691799154 111543742 142881616 272422801 741322387 927003816 845399525 429957184 144502560 625834124 430381170 674636544 784431173 358251560 365429332 179263493 971801040 694151397 850126465 501125718 803125591 397150479 402715266 952483584 699381381 233601508 217775717 168282757 175026422 292766444 361084343 895784944 693066837 108096837 515014815 241145694 983542876 854270490 508864016 188744429 867631472 706771123 199765567 367580474 305614225 430372029 673907348 147632002 350876380 620156583 456509667 904275131 912517864 629816386 437088456 434763506 973632778 173934546 480995639 244935065 749100530 918360837 165425921 439160956 526651608 418429272 913040262 272277469 704148545 814653826 341814269 987079637 244352500 466462943 529821737 132291974 843688078 297768673 350651209 485469571 419682869 655431966 494170484 873322123 517553568 372976413 432149424 579494069 563596793 852057488 225587175 810307166 952801545 567753884 736103217 165577841 191992687 506747091 502389471 433199240 999417849 781671489 777230153 543385572 474476505 613572353 412095451 837847576 446900770 594131393 154733131 885810101 880394742 246422602 396596284 362388440 975266748 739882847 339782423 933633273 939227158 949371724 747463455 877884120 636175798 793837168 398890352 743484613 126246693 252644085 757078174 810247076 355541886 486952882 883021761 320773991 224662382 566604001 172442276 909009086 777108542 515049675 951738519 303908450 551191757 613886820 323609153 117795219 879442322 622453992 347626818 191379243 715960479 758430828 901556715 305777418 610062760 767379423 428333623 346208978 168419326 558755118 206719828 734516271 669709784 110090028 329897302 775857526 863045921 978452341 281908964 947339177 393598584 330589084 972162365 229154777 218508898 667246425 984458589 901629233 450442304 774375271 492451062 465952266 647544197 344381627 187548882 686005593 868739721 827349332 899675463 845567195 452886747 358534390 342980956 551632489 419118005 178124140 266416940 113517522 661070269 245976393 873094470 117390804 386188709 618322537 604560261 925365609 377893148 770940913 439356351 795724709 651173683 260925610 763586221 987141635 990023235 458131938 545415683 202627894 356910181 600036524 689079165 948886116 164664403 395192411 893060254 111124507 566508717 362330566 759696285 283011162 505229441 365569658 265026393 244937442 292377697 297617016 196584153 648441444 297144323 286695734 750908673 370596015 831171371 534668146 668528404 292015954 187157558 536950242 736196568 355527629 203140184 998598389 252994584 420531103 771987515 336507830 651656869 677282753 257097159 692454088 905761253 285820906 734953474 111712890 752357610 379578353 294013453 429337237 762028915 919608609 338144080 624052148 366623347 227402954 643292312 992687000 856153717 304994187 879775269 123491852 477451094 247639026 628732386 261962509 336968379 838610018 163826753 814982630 154798908 526696111 416045441 292275640 199344749 299302834 908985488 643319993 287603358 515001011 718519501 824519938 772628411 230256916 742505276 388394431 224975496 802561300 287072206 319327215 277360043 496081511 700906179 362092118 305001083 994358684 622626625 244657463 473239188 781344229 158785082 643380194 133244609 850192732 129366570 414704671 960819554 584885499 113419995 290454855 282780969 277198812 808498233 240247386 811222180 279126833 220827029 215555875 841844302 295336202 572714843 959732225 831067862 410164382 479276470 970497358 944863154 633280946 804153885 583256481 393378022 908110426 119728083 625509976 342020036 722414155 579858054 328598170 499859220 307511277 557549985 890469231 610575230 376509142 212066265 155370902 356141099 340016826 575573898 784267642 115376214 540255622 357415258 270271514 370982128 780955590 774775998 362147332 826897345 386314130 558778258 217230219 860009334 762489144 930206353 861251256 721230643 596068383 478028238 172404470 672639278 985299451 316031118 859272046 769224630 570640108 838085799 564383520 974707802 614794884 449997212 933288944 638787791 698748537 726448058 732411818 930736021 904580128 588188214 853207205 208690762 863557467 338457559 841395366 338740853 380094134 241937103 326315826 876374956 251722570 633985101 963867627 357043453 547669837 802220298 873964216 993724705 748107414 851981569 163280977 500688270 988285930 396757519 570724551 654076088 560552071 986851215 592353134 649204273 119394351 912481837 480920364 123332099 401079502 613309134 276789725 738847002 587314417 684975632 288162901 411614901 570301245 364401614 414512616 428892633 532400594 463044634 639047816 460249720 538933158 875917184 774833195 868026486 544153023 185381688 684220908 115974308 568300475 788049825 484516446 815428351 896571330 368153205 131973779 976507713 374034738 809100795 416563588 378165172 142094421 221055341 172941860 419805512 271333677 328349842 106398947 579036774 153368375 362854323 620213707 936514627 199607236 170240186 210384788 171296549 217030260 409245672 119638489 327809557 344167854 599616061 916546177 654771176 903297360 382436008 300807723 732304254 146885132 829922938 315783092 260632121 773386600 853310323 994603926 105672403 962145294 590451828 801600587 366277056 833283980 482498601 196655135 735420751 599026858 562374745 450181567 571896095 757627991 435294124 841647074 201251503 290773503 444336026 994000461 447476212 640275708 899829498 714428313 760282432 362833096 663482373 584239988 585748395 766122876 513364442 698959562 117305699 664460239 322210966 614276255 943420147 210214289 622583216 583587386 924330364 487534099 274386816 731913984 823995682 410854987 701307146 578272192 863453782 643437072 331778392 124281884 996270739 202545441 399291696 894646878 983672997 945617265 802571885 756151601 573786780 787847332 200523933 231571912 495326790 249697216 899288783 970548504 412101705 135016892 543256948 980631743 339553766 551079773 194516188 816294903 781934771 671584482 670303220 190829591 610567387 648575383 872333489 866940189 155339751 849182277 159024339 932116519 441997520 303694221 519441573 175183368 948890630 873338250 754494601 233343852 861366065 458538494 548956408 908868902 953523963 625157249 148064482 171926110 498755210 183769169 798883213 889974946 141618642 691869520 887095383 392482419 285888382 163629658 599613459 340734357 627399264 281970047 122513268 417926333 138815493 336618083 996884942 659842327 892200378 738420867 520563676 365395234 159819274 382767309 504732006 207323177 841016704 717575173 645066319 741558207 337095342 645856073 831606366 207059785 654149637 967730974 498191438 110765285 427512862 144424686 222375329 180869395 854686723 408067997 419122062 984687209 512930617 819163451 938288095 176156039 649012339 693682605 952962164 842256590 844047081 199962430 392990853 315816678 657578076 339179513 491156210 549992541 215806971 670037567 673382749 815709130 314519302 117279707 662606857 277147760 820495390 842718366 737681480 590626553 450913871 643541019 364635159 859459434 157798385 113840770 742530299 955770857 909346958 424536762 495871060 809827977 775868889 755684965 948444161 549630444 214670841 744965909 803957048 485558293 595944165 826060150 304928131 761249081 959315788 109767115 689240803 561640373 340673807 127686769 803402437 514147127 745760232 943829843 162446887 855237642 129585353 424750968 670218704 170532197 395802499 458817637 504636345 953381703 990052178 122233394 364694465 569655569 447631502 445872117 370460450 382385146 266263118 717298520 481415886 792989687 973268628 416166061 736797888 873526592 688975033 932697705 369130489 173690790 956361403 540232040 313066934 776583195 939035492 471839998 241097424 345200707 392172196 367423949 114054750 863554401 227133933 120365821 534528602 439140921 951188694 561644497 388392670 236966976 692256603 814716550 400877680 870091816 527289867 856074051 479082255 570079047 192977352 319058302 382808388 364129623 319359440 507602031 195106484 473879312 572726222 159025874 502560451 788218057 848297424 703197612 890134412 958998982 648685952 731934904 453976151 898545388 281008083 128911901 305122486 858294790 645137904 267441132 181818394 230778059 301220041 508758744 228602985 234782996 570309400 378974095 539118765 958430796 669424713 704662237 105052003 394329894 668257255 205015573 654601957 489297539 700997109 639173796 341396820 292333608 588787219 901030368 735061185 518355964 685380617 880418260 261682143 275081230 387306786 384395215 586627197 475691095 927727731 436000649 639375327 166647939 962409551 151624544 556642810 869953495 541037975 751419096 409158188 968788584 390140190 923121502 724564481 890102141 730450554 794262934 169534406 787165542 592075066 780363008 426538239 959191268 157166559 201943659 584380013 252243945 332776866 110745749 692580371 261541897 805439017 182723807 893395784 844535521 606366303 475346139 587844760 242484082 912509491 391605914 827789893 748762532 792643741 828017919 104056008 190797490 766378122 269599425 399640771 328869929 359458606 648707886 283251029 384385386 276652234 110711206 491314373 218233493 685723184 855280002 106389529 444932656 989234481 799811068 150738576 919126168 491607652 869205198 128050843 544253803 312067586 177786609 329200768 514198023 840950283 671742935 472922170 926488872 162276700 759851752 407284117 611751123 828809251 441364478 166288702 649085093 444188942 601516454 706395108 974483153 298531893 444344977 313449585 307026978 828991096 816395246 159991714 424165387 821703485 183279606 386275163 764586039 252538588 186126496 163476045 341129379 263586257 872963440 535813932 689698020 545414864 905495031 449086880 134028458 617542788 542785727 653431945 614834542 121847148 802625741 136387461 932175506 194146638 539984042 866819163 363246904 773874289 241440493 119621433 670009797 618250688 595679146 812051286 331974491 478522768 689152428 895469775 816775488 901119951 296791585 303143601 856024158 775521326 211432028 452569346 366330964 708370044 997311626 759888965 805300253 857569379 571506477 662901542 275095818 195401893 879881290 239976746 745303754 105598225 931726991 215572658 269944117 197047439 776822291 900284531 119216470 748369515 256528514 335993089 621560601 679072133 896393328 123722873 793800861 442452155 302020234 617358758 565334068 183714905 311836252 814615703 777839622 458922010 290682381 818610357 367682270 144237985 467956933 971609781 258567212 134653310 638000452 448507550 731825843 992934878 132953474 767407065 484376421 625544586 886352040 177505969 175232838 156264435 499417002 501396697 579342273 431535958 168786060 752605502 773176805 312290702 412661452 948477877 223417221 601423814 528162739 429638455 560618179 802417577 411656644 926856846 396293272 758281124 921804013 652378198 286680419 412709205 928955660 339929514 517383442 128408180 248945369 272600727 826195890 848129135 550050763 653670583 618943576 304895791 479232319 660815898 307137530 264867297 428858773 893456546 284293408 351521765 370904291 909632614 439116471 964882252 203584597 511927939 163244260 454423721 246195878 513977435 476138943 183225542 904326374 635179874 736049837 431719667 587506720 449114047 103109113 361062471 257368188 679497284 763024149 910231976 544433346 644246407 108275148 267896696 504832337 246372847 297755108 802361319 347633845 387778583 759910715 939135609 887885997 620974758 125594635 294376771 951116977 786029929 426776602 903484308 399121630 718932626 693510028 299693511 453837497 947523078 355748888 534762205 694047562 292713130 407925136 524537374 646393924 286358739 656617772 328619324 851959996 496809912 191672737 942981816 182889888 532341787 238321358 153217736 389175345 541371794 508184910 198710745 987124805 457142139 971953610 519899466 863696701 103523979 397124456 969651363 616680806 936883195 960488611 632766449 925312879 120048391 465107633 605896389 368414596 504056820 582296797 644498326 532484482 145847992 738745289 714190164 615915559 432563976 246088162 590896991 866852707 565008256 569618426 803803949 926438927 769199891 392127247 605549303 713366386 603202791 913163982 960740160 820334134 636677074 921624604 940599919 283215820 489995468 776147017 947714552 126757063 256583636 693832839 810850027 804497833 702587575 348127624 687472260 592306906 267947190 703119748 498818753 756098240 110945485 169668422 966610904 992368346 901590727 206845944 590455066 256752094 901223824 703566427 930419827 544938967 386632352 138074348 984652284 791746603 789731856 767182408 959888046 601358896 871768936 300959238 960923381 188079394 223841061 621676404 809975525 471737375 856401351 182260094 805496006 668308566 489036815 276571916 270730814 376592272 987875249 868142924 533044515 293780271 161007361 660889287 492044236 229415628 787975303 630691663 907394433 365076944 388867900 898413733 603728184 378766907 316243792 697541566 713065869 787771726 878458782 122270565 404000054 647424631 552244580 748333316 433041912 297965407 299000829 591375956 969957719 527123266 358922078 943191098 769081502 509626242 950969947 936103921 837699338 586386444 965461270 165948743 339759900 993611799 264594120 992938743 535147457 132075889 920485746 166925312 892950303 329625411 733939073 680456407 778232096 602702242 264082476 599718512 951838248 858372978 712592669 113390443 487315395 730286983 455272721 787216481 401358993 626171076 897946511 204947072 554204728 440280772 641202277 129371449 116694853 556127885 133593015 884770183 924790660 640976634 836213435 681954373 756779738 515872078 863770476 711238412 159055466 411935052 391213377 219083981 714776494 295039227 623453273 208725698 469121827 631259253 141659662 696306233 954010759 386229411 734529633 750770088 597104589 301547611 406413482 688756779 661561158 138776202 704628128 850704667 338073915 607749349 436295628 545198299 252573386 806537348 299539085 374559610 156795423 908680808 972906442 407551679 806067836 308692788 259127533 930755673 923182707 186198980 129786055 688009803 799434207 350372758 365212117 671977828 228002657 391142396 113415398 955963346 116757064 792963823 576052615 983952280 862726194 728087667 574424044 790872141 280978178 429922539 490975520 205333793 985762109 984704175 437150517 601682366 982894650 900861325 849564470 703825706 889057098 620768693 137035127 342180197 554443136 512932970 584355716 122615361 460258262 231838585 755544403 483079627 542115332 921405634 779435960 565164057 894964113 249731408 618771448 452604923 230664898 613064815 763920708 288198274 202675852 282476182 727523207 224362211 578854064 519674340 854959746 844441967 569738330 610185504 713556336 525389606 530497380 510891811 846540698 248523239 350954864 934730982 525029067 445547829 481955431 847274114 949154480 313929905 596126643 500651239 549647948 976250636 863100728 139890938 377618336 888748664 544840597 397741048 920917752 945180965 535893430 698130625 825392987 572897275 849968551 844298900 128416522 623983439 517412455 883599414 538791298 124371370 980721982 312257543 730130470 616621910 765759861 995944598 162564724 585041681 809495053 415107500 375683281 597273233 374311485 969234328 130352698 470554148 418968353 493349015 663651788 308433204 253497149 911867838 612369610 493373146 108891861 505740339 852594242 124681479 983190062 575106614 671505008 698399816 704616336 372013603 390625184 506300135 175675247 385101608 803358718 189345964 899451800 664589379 743549378 572208553 721539859 260514359 342730419 143768588 718872384 599068662 156719791 124141651 212136123 280299638 404774496 731554875 165156424 685777022 382261233 130255600 791476795 610605554 711896266 802288278 759861845 728293787 162256483 866006784 701822217 153779353 722317074 922957911 293114625 674534554 546732258 725027352 174493334 299064327 317198189 359736767 327810395 673091802 269393313 968894028 589503811 722007580 386256583 272094238 752714619 464739678 631492774 953649647 655651374 933165253 418740218 143192110 520560908 569118663 323354468 277547018 180703314 940024961 682013316 456715214 182687088 911077055 934905195 790242023 618041443 719433070 287198599 245610429 892740077 827458226 110478362 900550013 501341989 639577560 139684238 773716055 101603006 324046187 884642330 573569431 390786078 467828591 738586598 612885584 706260131 810039185 761680630 144968654 414081355 997595356 546283339 891381227 921726225 608658056 198263292 124390069 215430463 743255507 322807985 429599671 827488018 852330791 350501161 623777082 418879380 369609605 206109241 237702861 277687795 697159352 297537936 452663088 446400585 402162375 196312178 220785795 489366383 403425867 431954793 465342421 888835898 384412156 164465162 104836399 465099726 832713249 648978603 548315107 860581526 274913557 820225979 628293754 563743062 300332772 646423968 859014192 420171715 431499635 616386548 752094666 732799667 122697904 324720742 850094882 316160888 346801503 720051003 291927451 981203999 185239657 684962199 922525093 921354541 709903693 329846422 194461469 310996870 149546162 721835381 466814386 635169541 167324738 870560382 177294605 517372244 931779506 330503224 309631634 836910888 331329140 634214424 657419101 835239544 765924270 941498457 919145837 770283733 469502095 384828439 272822383 370075981 866567969 241004295 321885057 906482585 447520376 919712804 327083420 521481096 871539724 421559302 626089982 575570533 599473092 567967649 761653304 770059290 374955267 387710152 579220964 191492617 380755470 627289649 282028319 621016483 296292879 184802115 950809522 944700431 315074586 406469434 456598722 561577936 877641031 223212806 878683343 983247721 561873827 186369476 922069224 867255451 713134013 747513204 436051346 455176174 676601023 262513915 590218574 791429239 417088184 480643589 919449740 942999882 824208325 849129413 303522675 349589048 474812032 629873095 598933906 745875445 478872804 504260340 450078645 159298626 114001489 867055212 838427294 157443582 651520554 659582881 310134667 232668150 615081261 643304491 385503973 782363096 833729497 129910538 938516370 563326306 435157095 464180393 161346507 328577051 708556019 369515964 854994431 923282932 300193411 963693816 805964502 561725059 875574252 487446769 359382116 474111925 801100483 164163121 794721614 704961093 558625276 655454799 416465525 498882962 306182547 330820058 858316175 970741154 936675600 120966432 452945219 952714472 869866976 689808554 395629991 584976010 475000951 232258028 247392326 485294849 776110535 970160779 164140908 201736979 218527615 748917405 112813319 633970563 484658548 749329237 306490695 380376949 312947155 487350178 384646823 325201118 581522185 309057720 334612688 829058173 986298972 529322763 105245754 926616166 562214744 571053574 233087262 975935238 981073813 886461178 496245521 980995847 797959341 171794493 886983224 511674527 962920612 250598787 981343957 777651060 292884022 417171332 415480257 427695359 728683188 484487213 925281284 731505467 175372905 964100658 696050312 435655194 368743384 273479218 896346655 701051874 997617833 803358600 816301739 451432057 415037571 614819232 206798354 812874385 813980870 930360039 751460818 506806800 800674514 452717480 519773789 851827024 742380961 132812861 111151739 846297180 194197703 955569939 553492193 450112369 382069595 196665197 299569774 709720287 688776362 906414390 646888863 856705050 534370798 905450329 605266955 250524921 200029031 431135571 891494591 158446622 544972611 627735595 671856430 357896515 421365154 709287717 709999790 197403701 534870267 793115084 350085303 764451838 809953154 254296713 129377786 697701539 255702039 586708821 343512763 724625058 592489535 367720561 286322802 747151165 816375086 990748780 678223421 356398677 639861641 129194259 836084417 661631023 584093471 974320230 519426427 220123693 414527836 925713081 403379246 810913418 760343098 999751023 918596026 861075156 819327010 822036247 412989923 517551412 987551015 676786634 653717412 592697194 798360063 318459700 126333618 313419551 977158327 756826725 281971374 938742287 285183565 971319006 287638665 202609744 779444797 185219124 742384997 168020177 476321613 458481133 204332641 364599185 403121173 449530779 913355137 254788291 118247649 280079020 269110619 339402720 101474559 187058522 782209261 967244374 262114019 358795512 612431238 498358226 573937502 389770231 340118029 652985400 603717804 952791307 423410326 457006137 391235984 903400084 932482810 646004055 944408134 749180947 607225156 108897545 910884290 115163228 891186279 433363301 337540908 789035460 381143331 663956383 839929584 323082927 164303042 617333451 970657498 422892538 489588388 773638836 565648961 514856319 585160851 689610152 340561833 528016055 832990343 388631492 878572498 491326286 614722897 678500035 421992237 550885801 402101232 813478732 161195190 225964804 568714504 840127048 539845520 688659925 480703629 355311014 571002944 980309698 451320059 687551845 285983432 620231856 146797099 518066797 766039360 359449277 869866156 868005619 489253449 282627415 821295010 383471560 350862528 910020979 424453621 404272675 917384110 267230853 646068805 898723208 948379725 509839423 586534439 341390247 569286239 401916519 436696335 983198294 206530667 697240299 625050607 955310916 223178855 102968948 849855441 374056258 786017828 348246464 108968913 423386260 436146557 856999403 731432340 967624270 741785078 341622708 181160705 450070612 479729315 122233483 655038809 689204933 434127864 838309418 523131676 455014404 894608879 663535102 112447427 308808374 306474004 264227140 189860280 819700536 175026605 258025382 516469681 323185721 757653715 418502563 428579450 432743996 882252992 770679700 101946183 431570240 787062725 777412369 810505180 450211064 879935687 695441326 595312301 532824290 165395843 908829193 196280747 764858743 525902661 211257165 721032114 513883354 658256879 165742642 929692267 396399114 916279197 488818570 544035747 862077607 708725867 947849322 399397221 559603607 100438246 328801261 529218034 450865011 867030895 456669119 844526142 657453875 518961620 589474414 148155571 113481294 687023697 666132512 882824958 259340504 897171210 709386574 246352057 548559204 848191171 348468004 717272619 562336858 830261377 998391101 330107815 410150980 322775056 447011282 525553461 672187593 549476062 382193981 729716431 174354866 830530728 811581751 213410388 475782782 392442282 834151243 137441954 952455376 391036205 883443085 623106208 969942353 399078228 120630833 695808413 844158552 665628315 504649665 499030614 141266606 552679435 301408810 914075350 576538765 596177446 710134043 666279642 750941760 470402762 567545357 982295350 322360551 558434911 674006991 213121243 966596151 953611470 729593601 349658796 559062062 397861630 984548090 665603605 348177615 788583404 279674147 432170711 905977595 632920349 750325541 993412887 954285530 295846075 386710384 687216869 562081524 700574705 774926059 157700889 429208600 436626529 435691890 954388927 176095647 784786033 163020229 603026619 207477511 512053709 250003225 499532741 552136159 650200799 834347946 117860219 205577578 777496776 588657705 157648707 424975814 457243578 295063271 193279592 430220107 930894658 127027241 203355004 960271078 845706417 932276329 675115511 667802108 297576968 242178893 645036085 397882491 164628883 386613679 357980827 165812361 741992552 399110256 503539761 582071584 836885195 148486734 242274501 798443960 655311399 177555968 752794818 776321825 433395230 599229890 643261982 282459061 405446843 425609278 926516919 320185176 858140878 900391263 922690801 548762760 409786612 203093126 693698934 800090310 490842338 344749487 115974957 301750012 650774365 711294858 848562303 554959562 563483859 701377778 768666739 717858518 569593661 908996143 674471543 365208994 717371971 627905709 151120916 824398479 337793605 264726525 624113550 839643887 194506649 813832645 656207134 660446648 211185631 261562114 724013632 324263742 274791593 405866931 741863494 661224989 117801771 756259693 409690121 374831353 563019577 496675459 944704029 642238416 656226335 129672116 196333292 757975222 577592285 108880228 268136301 778848676 268688775 515065087 330147047 811045295 389201381 361599807 551797211 980389310 778172610 589706894 577046098 709612088 517039943 544438251 378844841 472683614 950197507 155975909 550598204 839080103 591711893 949311535 159357876 765329316 787978625 520530369 887012373 622060124 335524225 809074538 921045327 893451892 913267532 250479725 816258332 481670610 777339383 595195369 451575500 846776638 495979611 690065520 706993978 182275300 385246501 190311449 826183005 578088887 526421163 840607916 692877248 422966081 273819187 163377344 512257451 417361928 760181075 554419170 903305584 534715787 475820400 961892078 711459670 465214710 228763789 334227112 884027720 427338437 769525343 203138921 312972882 699567144 237497803 562621622 177589373 853660092 964774572 967890148 650354390 364948085 694195570 202212852 800587228 218054724 778830251 300541896 410082273 900455497 388142806 123765979 676147434 740340274 911383031 472734229 762452969 886194067 643543350 859608190 271323497 630185691 826054212 415901424 278803406 643377347 180139468 448490430 479932500 738699618 413704021 733786944 923234039 250022412 643117235 378583429 376652775 176809606 192994429 378136971 722718710 403117624 654044649 668756623 312282762 780144934 351236416 311848351 439732879 388886737 384110722 864496318 358076660 494207557 263782529 806408158 987063496 987778311 155570438 340761812 226139898 127922973 183969634 683429337 345685537 580709458 361971650 289571082 328488463 768883119 646490889 215443524 161001726 690325949 602078193 556165501 471753924 511881263 522575807 561307595 821113897 259817730 238644997 820073154 461084168 476496843 134634780 539541257 976676554 789323965 290255742 697917991 262172807 445627145 727526292 395746645 693434984 466048076 595796715 783222668 763568472 155079973 770309523 359318016 608910388 701405311 895753737 204879746 753272731 558535985 484759975 763290794 800590442 881798434 311171071 578307568 492111615 466352417 675114078 323041822 362367986 255792959 652814371 583392927 549840580 665661495 915209139 500994158 353103995 880855361 793105193 536148431 725958680 804211934 830731115 802560750 519861067 580720506 258782601 932155491 553056703 521024353 707545606 525974885 214416659 415694728 585821745 503707711 557657147 472327250 411873423 442640553 978814747 670741173 982221307 259962275 627301112 551846565 946728913 264598655 908794239 507146335 534708108 770942346 345865717 359650928 921087815 737460269 469859498 959352257 837068400 903479843 132071023 354049623 613419387 813279032 350239642 536549366 413959723 532389875 790787514 737391538 964407484 809506540 746181171 735727046 299484434 441745866 309293730 590059239 318379293 483599427 366054168 662708250 594832770 653418727 508643504 208511717 939680940 829970377 508427546 667139028 810119325 229702628 744219644 297824123 230596799 684506098 973528639 297497440 672303937 613546576 553180177 553521978 834323162 557394426 617399871 221651647 436195974 147887096 137169946 259574039 236540424 303920879 862147209 109946328 797110561 969798344 135741114 989292406 839278933 337199851 660602455 658167481 833634815 199045723 293449763 394916631 881097479 544928174 470834162 508904942 502279982 997608598 441346933 767525697 573905490 577650092 164287299 177234950 359029328 908812144 212453940 772181846 780326115 522195665 535761750 703862669 100509104 464556096 500250877 610281126 139537893 904097984 691858668 935634221 862185824 862168527 184872915 586395084 481039233 453230947 502206472 197977767 119775590 833521769 744584197 224722718 131196881 922216258 768916465 939645335 124279779 995472049 181376043 402820624 747661295 808419407 993841693 741235715 682008128 299853975 865970550 701011029 353614182 483599317 619723609 909433864 472396882 379724308 895443045 586034601 151598754 200815576 503744123 146912363 876146423 152602525 763540232 332507373 639519582 426195062 405525510 481757634 686060652 746558487 638586373 764748843 287660913 834239408 646416883 128281103 164095345 579770519 207257896 701573788 133158888 310900156 847300691 407125215 406582925 751616997 953694453 373328840 511518413 898663339 524088592 458640509 382720262 780186584 165787753 853254782 826877074 418264053 154398945 860389284 418646913 530319786 769048959 472750130 150260194 333116536 622657673 117110695 346190015 874854208 667021142 257090767 615886992 920848792 324585433 682295318 553292002 604092967 911245602 391337046 545427617 837709229 772339263 960477241 610584586 263675815 348681965 601631330 865941089 442413053 989912004 148011345 810775760 684120309 576569523 570158303 699942607 802247833 320454088 927273317 231412592 146003518 802185982 545431469 896084779 488096116 382714718 508049816 555264254 150718599 760520542 768034919 887486746 796186840 927859990 283860683 629363153 244651482 800315265 900271340 109442278 477699325 421576268 708149056 303060916 560432112 799700335 900325581 935900100 130630784 581006156 162010892 772380179 343407887 447544467 609668179 881895017 615492153 190599592 801300858 232237137 609418414 674853897 900166605 873784656 863947271 210226269 131523839 146638504 134970006 435210889 146442397 807583294 295662290 909625256 749978197 602074657 435749183 265880427 370777925 321308082 966860037 746090806 758515545 569958624 193996246 367734631 273351310 552727099 419880450 593857828 398404818 936576471 409096411 395567154 723819589 793408681 209569780 566523289 806879898 800132128 457477395 271201474 689853712 681412934 330755189 492064981 622277090 650336039 637551330 263149144 978939993 661599986 272704608 225341298 770059834 362173650 946498084 868007763 706713114 476108998 223249126 202468710 812024136 130338383 407123094 398062916 920785203 560246741 510439631 910370618 142412243 428148930 243438405 203904467 341960798 511944331 362296592 335937395 869225528 548878948 880005980 380291291 943816025 299239508 466943625 205842067 255412455 168329392 576367796 758651136 283030412 642688378 478858996 418437615 550158053 475026257 442076916 326196417 935253617 131106571 395044597 407219392 155425882 228107834 633715532 969982462 556428859 756545285 682147551 691912180 368924910 599000306 420778922 880928368 102145288 311399774 920030923 791866914 780373083 990639969 138533481 911498557 187467667 166783871 140639761 570746032 147436645 490800033 863951742 407593798 272010292 645320727 882768832 430475994 643109842 984247406 528902939 361952334 814099648 760564966 387454757 133107081 755869573 241450770 980812257 219603244 831596946 881850236 941645770 147047790 326116343 780856536 876250928 952548494 249002402 469058248 304488320 569382241 908965709 862533836 760631687 458930439 234464370 535554911 485478810 659142842 382856737 657976718 351346852 900784768 487531000 250838901 689514579 662007643 422613946 614483624 833332235 541860662 114074210 752892558 716167527 305019808 388448469 392674838 219595685 305377345 190355666 384856919 476839235 504613477 778052299 278068724 762486143 160538670 180205766 262729675 996164383 825079211 591647327 284237039 715859210 583187835 925514809 300397281 940165792 930359262 279473697 150782951 877883940 373965803 757984007 910067452 993258227 224033119 443135086 982488160 772185366 379550589 807212685 347607341 312509725 551038931 189710779 949817331 646336101 635419493 898192161 698112394 541300699 864898753 155463257 580027303 764573663 103530025 196382649 947205544 546888879 780113327 785286074 400632974 582043902 691164528 427514720 437920713 968703666 191739492 213337592 339286355 671688234 903799085 958863882 947556665 663488700 921495470 250033168 227781010 552492275 779936321 418562825 637381890 153942245 264475797 220868727 798880108 473337086 616948198 938397861 223571662 266624832 309062546 793115982 821912157 303126838 200889334 522266503 494295240 317635344 110449337 177203469 326496193 789742279 954486606 813676476 418302488 977623145 602132612 907170987 394411543 763108988 522346468 367317097 381517860 806779657 508187853 843728341 364999627 574122466 743417960 860798651 653553344 789852470 663039385 290355520 927223521 868303203 403986029 980916589 856381049 844726414 853071102 772155642 940596746 735901450 279823791 968828682 371093195 861779049 480328988 142672394 761005634 969621447 595380577 875025138 605122224 675894567 198186298 578510572 571552086 271934728 277081213 666648953 471950489 735232963 453403007 746331417 409943449 477654992 423662970 550057946 865914108 757747336 675909509 767935432 730828041 365242459 574832618 262830543 665058027 771188611 805379743 862245468 274910224 867400306 512527254 809374717 686909404 540067363 837387948 949514150 471742858 193589724 304212106 479493962 712373213 731686303 475603819 275289905 675150801 785495859 399291665 326546877 363259580 930581777 346686902 510848813 685347681 170344243 720730536 758028318 145015598 575365680 797385233 732461769 719469798 238636476 441438226 152859997 570339943 368215682 739406561 575373043 338369796 635165716 496997558 903817641 785146909 218517429 563900221 200304858 486532782 796814809 175820577 920959556 109725303 576333368 635209801 850689264 528054144 272217251 487336675 960912536 755141622 143146484 338960406 639322527 837809724 523034701 221300368 681071594 809558310 191537764 602681547 123660191 717670521 596509957 688963351 629189734 668511616 417776683 469212585 339469978 443810999 916399219 861897878 242578982 789071097 358811953 747248669 251611793 242350048 452195168 963593121 515037209 482536362 234217510 403151261 459088100 503036197 188255255 918388226 119905116 509446791 885192014 406414412 874174269 670324308 698045033 285754138 830258711 688428445 782811657 908081068 146222774 431271350 384913458 627449301 139589339 979046259 673427581 362122874 946220189 989298846 704880733 195648977 608984272 782160333 417107001 257487846 950593215 918335939 266481640 777561923 457500798 492619340 945822458 274981452 383958221 135714190 752882089 408739269 314336426 339248965 696240086 615982788 484645615 291260433 214725647 358292719 223975208 383920854 866364478 648306354 779014974 531737483 217709522 308796121 621987565 544462236 394362405 234540066 424452412 172804244 643513212 704185795 861118318 995184679 649554663 796855041 180432892 857004999 557261069 684558891 276024627 300751442 642185346 232443815 832183062 885912203 630669589 993251437 671005373 835116402 302754602 252963675 665862768 166428159 318136819 993646788 970579557 832658261 736942048 695359610 353649394 355539742 148414475 612494950 326405721 995756660 680019835 562927555 143514535 596280933 204128171 276286674 807569802 214995738 832067910 218678493 179380228 357070783 385014458 496621401 280608176 527567303 788129813 824966095 452192974 912869969 793812479 361020097 212052293 774420503 669757654 975498961 998927984 785860014 115066495 460218663 876322115 367879214 123857883 129623988 868480119 682409463 909253937 945811527 488413868 864200959 681147321 274799040 588031969 131033306 333805096 885568486 930313760 863367724 449792185 188880604 820139192 982680465 574270517 178097321 937224228 327074325 915405206 332628957 772086246 144872148 517182620 683051378 588751230 542686287 825107633 504997423 512828457 341725915 586827232 698618535 937390090 399551450 178504960 201745678 320014428 194773412 192919092 128961798 388957362 687029955 331900076 318761963 594829434 542418035 313219989 669473145 500589239 314653214 507248690 408858496 976914467 666529770 638023952 416456163 245823252 397004637 685814642 755556628 977374987 923388861 937168397 703908166 872426909 160538673 543804588 621151258 700394873 989039279 313304012 745300948 396785951 618240144 140783762 351300354 715051392 517466196 898053154 636588784 694532017 614330038 750527274 428651744 576696255 344766281 913901102 104523277 250260419 814112413 464890076 703629509 146079334 479288720 830908746 205251313 205760055 930931602 877171709 514762866 851368013 509014430 414902797 105478992 995362714 128204063 529993515 906908641 410072631 768851027 499562410 141406934 155416601 955964755 604893399 432154139 372753168 347437236 936840425 238872604 674726277 977224060 344692126 212857317 495102787 500294287 512528078 873282427 743970099 160773614 568182555 731586010 617759189 171803331 964169183 732189610 791472494 332867398 749068550 148990125 562618124 746249992 565247269 854461750 199818294 903852362 766000196 499098884 692902372 602497032 698911501 927178490 668455265 362822833 992278228 520060825 346209452 987198996 976048152 370611299 660686044 419697870 826438347 816415085 750938381 446185384 870485942 356193107 143211810 916933575 981289886 700719335 473624180 315684844 648828399 751353720 855049509 219040785 924078591 832809429 538602462 606182334 347121816 499498239 430662448 389954398 110062635 825417837 582757802 504066411 918592502 183182797 501683026 311513809 735122420 641791699 179312994 279013125 932658329 910341478 214555104 456554073 908373138 870283376 577167081 886541182 574084579 491821629 262817735 842281400 659420285 384931686 224940759 207986209 458865712 182278554 686904789 949614024 946292663 960706028 153877812 928219938 537313821 981358497 933946884 556615714 596645177 236507707 460044774 182703703 243396891 771472526 572335900 510395481 212543522 181558286 157921780 937260501 289979175 313106088 742325342 647007725 743971052 518579453 583210993 676579034 527364723 584104306 209409275 799406618 351564685 684163757 476943764 666735337 635381209 222183229 330192132 242623896 357961190 325727596 490629979 777560925 642844472 315276312 309791078 390001874 503245175 552055159 882391225 126158557 492234580 993950796 958249679 154483047 748879985 107731524 216824447 394121811 973171207 748748411 922904216 382796450 961759156 866585551 253341337 305327360 834731909 103056327 924538635 885836696 251530840 788207872 381196023 679616136 957184912 394243973 783077472 110151304 247134216 737591561 404720246 417466822 429234665 369998260 845859398 565822566 133649691 153602842 213127332 289613137 540499826 125473076 684236802 619183371 939009593 588461110 989169882 986858798 828178658 654381642 428849842 997418687 967932651 787457092 846677058 572797120 348240412 631315932 900313412 791415283 768798800 584625214 929323693 205724440 846484566 898616796 111945335 473687686 173090141 693658135 703241579 987082424 434244127 229013745 673455677 113436513 451605733 466404520 279987531 873324383 510435533 261041683 402305035 556021164 336737198 303342817 848842288 303802531 756386714 160600900 400734673 961668082 119910778 802466643 650826213 623590214 497518422 433962507 692133927 483040194 815446885 637764491 930067727 806739756 579177698 539350359 858357807 891292324 906000171 868522732 986945338 694989308 397229904 829435211 589447793 756594026 532491670 743569703 498985872 158477787 228817070 200067543 579413878 534208906 112519695 979558173 138722582 120491290 901555924 581713438 929686406 280197200 150065463 517161908 773622991 619027544 972418270 784199823 101018575 432571908 827914066 539642218 926215684 265077912 814864044 950837052 618097751 241918869 863281515 324887303 768933260 737661729 296960143 251652401 427634672 127123842 867247884 934730015 728946628 239889488 306737986 540858822 386692117 264853286 551524569 316686218 148514170 422885042 550416107 334480793 239437633 475180255 694693189 634153264 140819948 774179136 438354860 466534338 502098049 460283731 168228969 554998653 331714570 869339854 169066131 127731958 414971768 810386049 787671854 529649112 995334783 454814311 801663199 383946172 358545570 289288593 239989550 616428732 709871117 376116347 137488466 109691492 209194546 194820517 669118395 469154676 730767483 951154800 284027360 951666562 808205114 893562864 757628978 625135537 522970074 527030842 671193146 362498548 183168193 458966766 653883834 201047458 248882744 856774083 423191642 824482967 529707891 753537997 497427513 203002611 561710777 650869056 394677994 855145022 140165345 894621338 420970021 868888028 580691953 925347965 252759148 404799111 289481252 665290623 128200879 882627888 864147761 987683064 606520601 959012141 646821639 866563279 439889341 723193260 485248047 609939895 947024775 133238425 950577237 223642633 302348394 687142030 338810192 274793921 386040347 327243775 520817523 562442111 963116552 233007920 209394930 299457982 785720912 468993152 585135202 522997977 544788040 408730333 838657552 831132822 972973912 787756317 970584184 662278408 566081328 973446849 341367366 134198307 697886936 198234806 528928100 470733038 656911202 433996320 884048562 237676319 863557272 691194984 794200351 959674579 416095199 198115203 161427542 581203202 175046986 587253263 542646747 223777873 898570861 709421068 355025757 934754347 586959524 972050370 810936050 845305035 765861772 378808001 225483279 572155231 407531299 800061276 995890575 920203170 222391320 791620274 816384670 158208338 835801905 467126532 403212110 228947239 587638219 621851603 327540874 471643551 220024732 864684707 363727373 463916974 617061308 862206421 926081151 679906979 655623179 528490963 721303381 719458231 991995721 585024658 516024090 137685901 417887810 241120567 483494102 670213814 328910438 355294686 110477145 839467436 865195470 958923967 962153099 514325756 480269674 780110787 872322313 315072715 750485539 984405638 425341821 465663584 939791726 225947496 523246567 284990092 190868918 608172918 692252604 876607481 236314484 869768011 336198735 952293619 719387202 596605036 496405673 279747868 908149331 605355852 838672620 692250884 327809711 402148180 901266624 231410720 821607736 129100802 408149004 624193699 887300682 394141679 115154424 497520200 293806643 663604269 848736044 390933721 597541207 503004983 561291521 821969122 163234078 502025207 895139132 909583564 650179290 259667169 220118717 959473035 762367228 802538080 593741664 430888149 216005703 554566976 820816202 931352536 737458710 844718174 946086387 604398567 428165677 991492986 148244195 200170049 130569816 424144160 115414225 112482960 943629457 111367928 593774231 162221871 501540352 462684833 706686393 603834325 191817627 471716422 407063203 554414986 203349866 491300458 804401353 577170744 519569679 606089276 176337116 913965371 640233657 511774730 762054424 938233446 505341626 587266636 553049797 974195692 561920592 252144229 269015820 503907157 100401250 311856374 623247872 967929591 526333157 827191801 811505406 385608848 761166911 598334360 317268966 930613080 203199380 767628151 547259553 199557621 882231732 643307414 278833718 161895192 399010562 956814467 773338570 331809952 929276540 593875049 306214611 525410165 519489478 261158862 652081156 561060287 700540603 867718666 198707974 459001781 299281838 211268934 521483485 182538739 315327320 830101482 586722660 819710557 164681160 711829173 902249753 513696334 433577626 650945316 750560963 303711405 127125223 952411070 245843400 835701710 545520957 441373142 657313484 716520905 651872733 901059443 409176146 221592876 742325989 637030214 870688478 226782623 169973996 360982263 797653640 324290068 667225568 256511506 719183899 160343306 764226522 785428879 445969043 637829625 680070225 624771659 661276398 361693107 908418950 184110672 659712432 316491890 657392710 174342775 279621645 991504323 526310453 861248891 869756128 774799606 553527545 177482770 383784023 803210793 228514591 444959537 545746038 940938646 948653557 679241298 753716482 448489006 508007164 862764179 930375135 807688477 109043240 440950441 499568722 592412213 682174420 586128190 130953647 337435494 186822183 119182216 202152354 128472288 288254524 181062145 885959759 901688634 893207415 280618251 194238275 158947503 409629223 273171869 323204457 208416064 472777821 956218308 261986133 721118411 541565608 345730662 441998442 388882519 154110229 744893662 236928339 212388027 176674281 170306593 112360338 638869751 869852689 918497735 579830419 909789980 507614847 538187354 624058376 501506715 652946252 970060770 799596538 178672108 792558463 724730621 723469776 686420412 446779039 514917919 860359878 220916384 742266313 603164052 340726829 369661390 971716603 264426368 281322763 240671216 413541612 714518022 813135775 256106210 963605826 847240256 571649946 597351387 999966984 385853916 589008499 222568838 593046806 178711784 183835297 432467206 797750738 623330885 832597279 451141865 177000827 116911134 397864594 869042040 145326279 557569769 152345298 176059661 600690188 653272902 904037363 864410648 380457124 940847076 638595819 611485950 560055955 314999341 363974089 796561390 292956647 665690982 168229127 615848245 287574902 450113485 843184693 321322246 980997727 831720768 807781205 969128601 648261654 790189685 200483487 162423717 354019332 778483772 729452423 123193968 642623395 367790422 477326916 198060016 526160436 551287150 526094283 845790404 309573590 504548873 178916492 547911949 928102748 640985852 901143848 291795327 956732874 556731332 564907625 650420008 228924684 549930735 329288742 125805408 867363938 226287654 493994215 617049101 845925281 999048981 876474475 521445588 371124118 451919389 906737957 947043329 850643093 855147762 748670854 427772381 345214180 299753470 304951926 956738795 982256904 537881997 171383855 615015056 604490151 781159175 662461412 535481595 872907265 272612574 437098891 750115575 578083821 890474905 700216456 753293416 756069297 248435220 176555460 845610214 536158890 847666137 860174806 427426088 656335356 953974896 931571850 525102327 537283476 200053690 212331297 605476834 351231875 145642065 393429046 590179056 907940511 346423432 583746921 700867056 443097629 569039264 406520104 758863863 601548918 254179716 448958893 874411081 914093566 240220250 180516561 784895005 172200714 442446717 925457527 597383676 792179119 105013015 881887412 867779240 506735169 546094261 211610347 782591117 323489528 773016085 427220058 748915808 294468099 189024154 935379074 837117824 736974825 405142913 252632044 820616486 449326720 259438944 975469348 678230002 619332097 299704937 151499313 159740431 893609872 737683790 765754054 382730972 865656095 993305485 826028823 211666540 983665906 821389344 689544891 104071939 355704694 420586407 152832588 876810121 758645906 601682306 535925590 852892599 420666121 439438484 723379034 829414615 240118713 577686764 483157733 711305408 531063978 699589507 844685367 474095513 850453813 631451478 279416341 107188179 397751876 547484506 958670812 586078629 631881407 650409537 662237412 211443316 476299989 492146309 932007835 726282604 718445229 681145220 752199133 292974359 943240665 155476553 692743838 210560040 270630882 479210100 739843635 921225217 532697041 724518541 376000135 123376801 634779109 247913661 399603806 150861212 635710356 291391311 565579631 638288987 838036622 583247657 843229402 875782282 753599279 592657374 910268545 117223036 164708086 529092823 229610693 616993802 392664371 735358000 715436179 522246743 948945343 410166846 958331910 540233887 253841387 328090614 489389454 795590810 333299995 967640893 251464448 722393206 215785008 760969170 646942930 150094752 313792830 887470473 622537731 525197376 735838645 538425532 738215219 895989940 479373204 311587900 898614896 107298874 661667856 365022378 606969242 334182158 751772625 172555609 310136070 851532843 877886077 696200733 823145552 683876810 439905583 104720749 840867155 479039969 668206089 436102140 919618107 589735219 922464944 400210553 330540005 335651180 581291749 454332207 560822228 358929304 848472277 945987259 436839019 751984694 952127056 418177423 202555171 129290803 884234032 718610242 524982166 653876561 584652376 744760538 266015219 476460785 601314852 365791106 569697124 415920473 990823056 446716427 229293693 541176851 830025795 539422601 559650293 396799114 408795102 350261297 286029246 808242807 468810641 667048714 191075318 616331558 681641718 524457100 658514971 410154115 304916817 466824274 818904056 285233641 656767889 102822174 834793757 956378282 941273289 438318972 654856494 806572539 301743833 179383532 833709944 618524632 336436747 680035779 812280628 212949448 808091998 478794887 841840265 886774516 774859110 838556914 334726744 903703182 636386377 542083136 991392568 598812718 213574606 293690423 831353936 293241321 476576536 418784522 276076923 254952222 779043492 945426777 795887697 263963291 525320843 463640179 707409822 334366190 872395260 181034399 336511793 583174504 762018263 858935456 675560165 697824423 612062408 521808005 659530949 632843139 467551368 970591215 508834729 596332490 450193308 457412759 410658258 658040832 652294121 231173454 354369196 248107069 239606750 783018394 260601857 670952007 211938989 858111224 985523647 204943451 712436016 692632232 383671354 222052091 249158454 462096480 948500384 705809254 823918236 298126592 593946893 601051293 253156156 407568658 872765603 242273101 301719296 518739395 610040867 210403968 235121201 816312300 161999772 495851571 312963693 649369827 586074379 207551498 127410378 550725151 881240527 382818918 740235050 483802086 819289791 839848781 949730929 920699087 717739675 885169183 941486896 555103569 926976465 669267461 533648951 352140927 342987077 613789518 891786147 711969886 335849102 236815292 874392349 603992210 517645652 983161077 406498909 426069714 701879988 479112772 104582577 285924378 907084481 837986838 562159775 145520470 875196927 602697279 632697016 640528758 161474911 457083330 411180914 437452588 780430986 269062324 257796185 150818162 436146340 976936484 121945542 733590818 762981535 756788657 857951206 386460344 618510158 606378676 168603736 766522616 119398882 957105152 783509314 982356563 443261345 684403713 924524207 277586621 196532748 715534215 531100439 558556003 490251878 220900671 230017942 478192870 892895421 365589412 667506149 330074866 449554803 375355203 183902523 542376390 471846102 977272913 354202471 888346969 936944658 590413869 600429810 393190202 777981754 105399572 114211544 725582175 384447841 680404578 628618894 489212133 737281481 649326753 339591309 315757626 474594258 429637302 537732526 693696992 242294540 135105986 382877073 311928136 453483259 660621264 676309093 975188397 537898058 954044586 568688150 787997248 972976486 977521391 315090220 976755360 766031580 166791975 970858886 743880124 154258583 361091936 256928495 296631632 705281559 826764892 125820224 456401627 365196776 972560156 752854729 473409460 131857983 715581418 211458072 913189747 760724081 221641881 966223481 868310712 506858932 266970654 736538681 976606695 198602729 508445196 647134861 458975815 386096925 104734128 450700532 266075767 778024417 582943360 354035814 546200938 162066171 550591143 390355624 780710204 583701209 997979504 973684761 424495357 569248772 976807682 820477298 639012185 405689612 792872138 763641228 272523040 324211376 709041943 903486499 353563690 334755461 508819597 292346989 664799010 258200582 796092294 263432547 123712634 847658569 933691903 873795932 531412330 483420258 852861313 394001740 737587416 406458010 430335399 142289662 710782937 386654268 406685583 694950064 589828466 717105715 222493996 895397557 996567087 564774342 867018005 360956518 138289707 765748665 141319558 549792512 139111290 120987554 680288430 326199134 629460171 173855261 512611549 922256767 926407526 775045410 904345905 756874552 862910294 242958709 468552861 679603832 349740205 413679421 345280570 444786561 926980111 357951554 686490971 400178688 167864081 836862836 121629006 314259760 806292395 544538372 714470860 415873272 251165049 985730188 386085270 735960446 885421230 676945136 909752492 219482445 927430264 897439011 776511343 142980894 635824984 670650856 148871598 521507645 389024163 913361577 817605892 397025883 367313352 488437131 244760874 576911265 339227466 198765816 769407496 140569184 848677856 299005525 845314695 793802401 294098108 678663041 695099415 936575794 806906257 977875628 292085005 504966706 507295838 640571237 361812515 667181128 251917421 585551855 271119248 193463416 860818031 572916369 387881305 791298924 821265882 602489752 640441765 645647777 308116194 497408681 622862845 397447046 658979716 436866711 203097404 700100702 728519455 205402835 172516053 855116770 241631926 970038626 456745462 373090164 927373662 479686687 615892564 707209983 688471823 701386052 936726957 407435420 225806556 300117597 389938556 205390009 961850626 869398166 848713792 390097553 322898520 272388064 727208264 853656338 778299512 620935051 488557723 458524988 279650949 539403425 761524542 210037852 750057679 729655452 206289062 641680741 488127159 187588024 220891617 482721172 198121593 704405555 116466845 554001661 167048676 843612634 197780762 374760275 693387632 312938385 124174033 257293951 599450274 331864129 132716667 958529540 477928770 151145580 848999648 633728863 882913909 885272685 724924265 395161592 524556921 455030581 677974856 239798868 500108430 176165198 648603138 235210618 502025882 903402792 545828243 481421251 658013304 586547781 417627589 338212698 967783076 302241847 732960830 288158579 829320015 605819391 807141212 668573076 779253797 474695699 160234714 797649823 635704374 201630711 958964817 143657904 284125459 938953145 226706219 535210521 761939872 442705503 295864592 134502808 981242298 786809523 416438792 564062535 633566634 439342447 105348401 519110024 302862001 299899258 859418060 631064051 185114192 366142321 942950729 732660428 989880817 665415526 961857760 902705479 322023136 236984979 433749307 942297560 997859177 937797499 692720808 543128978 155746158 243996726 235270700 756018994 706656950 986981797 634587699 752099941 692510658 846134449 603497037 455115955 472658058 457512060 148312320 633239598 318569445 131038982 622876485 435735567 671212826 162525213 724019009 983858514 265076731 551385985 155921728 181813261 114065698 692771918 212825923 896327214 349196339 843839769 226603122 894951272 512980845 486622481 309892332 242220299 659608125 176351620 834684493 291379852 529675887 862216884 271208102 410242016 536844587 952165861 577125308 810749003 530760257 574442607 389733399 590725507 885933867 275187751 225747776 480492314 797360300 351347105 423766326 553053933 191662044 967370356 136898556 232739146 703821160 358628902 874385520 695499425 185089189 513780798 163427834 358049469 579633835 653570409 345001325 103135885 386697329 758200108 909390910 890847239 603336051 928808541 507526777 752412078 210482634 599681494 842064739 326373640 287247585 966373194 108661125 500895017 813604570 919855306 387079962 718292835 973771160 358520318 680798676 196563109 565965818 131040457 722895110 366110691 954502324 130915217 125835742 447238280 821437084 650136432 886640946 196971003 341365474 468507268 256646236 958845736 524157299 191664815 567848346 127206555 614637673 626470609 360514189 264340169 317251475 776692099 700042206 625884308 456120824 185242124 780561706 582255367 738504876 655387510 679786122 857359036 534541789 825696506 979964414 951430680 939358417 681610820 329450484 641474865 833311006 462156321 573570548 662840833 340535201 665147096 751840175 461610134 607346269 115988471 300356143 809370588 985322852 821232906 149561474 318617451 423191912 717407795 722911856 229094313 810056836 966075291 365006981 109201739 739193696 236745995 922234251 653285450 701469832 653471205 642122800 564672136 919594586 696296792 372914020 902518805 177773770 959764509 622830849 283189220 712846120 596171435 940305887 214970924 358511157 117685186 489353155 115181958 852322691 168621494 118898555 315312641 670556645 793111125 395911524 538885996 546363962 280090130 768718018 834055606 670752948 506921117 736350442 712465218 292371569 386986255 216576279 467318446 891152736 991628340 188778926 727601975 532760781 462740406 157620771 378919517 482190960 897782905 202806975 176585683 575803855 919136201 394372167 457914351 560307622 402969511 989876891 876103933 234089950 857983051 979882188 252467900 652300307 347084043 454723921 495299540 147130826 412322788 242433358 683186334 709975714 946488731 675662248 600752037 648370582 704650354 423155897 366415000 819576626 291047770 214192239 701248051 512737362 722705964 488491557 458791377 588892714 915202325 495507295 609106538 662693571 269933017 782573794 769428608 151979154 647038227 938960937 920526951 821250467 728344355 317186791 617368872 919713267 305669367 478547926 531976173 564068752 427168303 525114637 665090554 966234958 107630305 856622437 832966304 166267577 453314721 559040781 184042841 612674417 155954898 962018288 611942204 688430723 586041859 781789476 444209961 339077769 487304872 539142653 436610933 823466257 224338693 834409561 996553489 784632090 847117936 133394460 630837626 485095826 821799632 279655292 861558573 898543909 790980117 771615682 615397855 213177590 494652235 906549088 522911607 660263261 836592757 354516676 434761963 736781541 989752178 609028435 718445380 997182016 571849723 104351952 558079607 680214565 839191595 915067252 580638697 374029888 184061251 248717132 868231826 724242286 543345445 170465973 300255073 149423445 239845561 406529335 305408637 426732798 151918727 984191428 747698938 734831877 621589577 839308641 669839798 525439013 943077604 601110713 957682344 497712812 609035498 422931697 894283416 758488682 759336136 397876266 634755197 313957753 297776497 799898631 469234428 356320782 503789862 992044684 455400538 194400907 223436864 252103918 403494976 920533949 214181043 451001640 807203776 508938339 584645411 465053758 134844325 468144888 884405022 766005951 376465007 441840341 418383774 124014115 651462773 556749912 424586656 430485791 632505947 699182639 244625066 523247806 286042960 804289049 581133036 115163979 934789305 914145106 772304319 521668265 516455458 582152373 519258892 185702597 570336715 956731708 202563918 974062387 411040531 715154100 974697056 739896822 359307360 768147405 621942237 936707346 817314442 553773160 879591052 326086953 197342123 746389632 579385123 449845734 423775635 488340011 364475876 370861614 366022812 282487903 181534628 204984117 345450784 156241129 595600777 162328430 725794548 185583724 190414020 965597046 464068609 479579190 489912186 921608978 807907520 536806157 183997339 483937089 404146577 643749336 784348057 488720684 759683097 284811042 697586463 672063241 740954221 893795232 777601792 256615761 513163550 983636506 433826204 117981256 142539870 405611965 272437181 762153307 201236930 158955169 250838996 854841864 503102262 542553717 974141307 825090662 196623615 173296148 142775278 524911009 505903876 180447630 209850852 911772556 325456772 886642811 856941722 412707984 945832835 381413242 217027860 976144343 266853317 190057560 336711917 904274163 746034928 747051234 337580347 234564930 715665698 943197745 122414896 258712480 972633836 472964575 256465148 516874516 718485531 328520579 408268960 972267192 138667592 133651315 557467211 633127504 378164551 657224704 697172710 127596666 454618294 994441594 605854881 688596441 977966659 989028635 270171193 327536501 535036705 131047794 737162645 809819046 116077337 915250243 261156748 122251551 493680492 131889177 256418772 488338631 256594636 469819571 339682258 995756781 318537758 244211164 700326368 167691065 739634449 906544120 112217602 949466517 910307432 396466422 610861976 401854694 796576314 945396759 792731296 445099721 559030639 230313698 687216759 456360131 730191707 916850827 932968789 567208842 126575647 425655366 241936391 345917747 781288341 878316234 511481329 613779997 798303050 332332860 479115020 406458068 797321652 468132637 437106512 625848520 733120219 864092596 596007255 259710180 998672584 154872830 871703103 610043555 257542529 969489773 159141653 547078964 201579982 926178511 985910970 228951047 766808711 726901254 500689969 336822740 385485140 526311712 512925927 309135043 298826069 804259556 447294346 256721605 421623993 768192136 727955892 226924212 344020382 955815265 813533142 714208254 132439678 642468021 623408287 513395809 164499084 826431378 337402864 429453245 142365943 311239711 940371011 602664191 186106292 660209072 643400478 191579762 122559734 247189515 476137249 178291609 222029566 532641223 540529901 298879203 192456278 855382487 436777848 312868931 282197771 450443275 727997017 953157162 745423978 686318155 902605039 475708558 950392121 390308378 970872566 370848611 877693103 857794748 303870760 710908597 341468708 512750187 608127265 517175794 790912090 832913965 124476430 226183205 924921075 779041571 225416821 633298529 149838494 902144776 218638935 904478800 406080448 971779413 538398529 584118686 430361489 488955721 556809793 876914318 790584419 598846093 404540597 732965727 464676930 746328539 366719846 574258599 772059883 714060523 141070793 960554343 941197418 258568086 860278664 644950693 577945572 521702116 414276156 445564946 532114946 627832271 768485994 289295745 305434944 384781291 651811084 970779618 493433500 119785191 829995357 819984186 244703733 151480285 343297630 751167704 380686465 324168418 473007564 174927865 905112497 735417598 346228448 552160138 164824877 365956493 858598134 854101058 266928176 797731042 917710226 734042120 445570230 451607916 881386546 982895300 787629631 675673450 925712056 125904754 806750761 719305798 479305993 840204286 398161090 871412260 644487594 681485459 809722603 185586183 567032504 237546591 264462701 152239626 382497959 419412521 790673240 571842592 787892904 410272912 645191537 379714458 965634216 788638310 318095902 429947188 637026694 938142968 172635995 954343516 367504051 998484353 953302331 642689921 604744816 274692339 676845818 546305079 651045695 250851945 778371765 257434642 886426123 675687839 510204330 919778916 600890104 223638041 634054164 445693028 679332538 757011797 358383883 136556198 910607518 754798487 858391631 892436616 378602455 541783049 463467651 544869110 969911048 566238226 249969740 362525964 533314932 944132885 721217776 262420600 291461233 406385701 248042622 976971473 428264315 801737923 632851717 792504782 598615947 194500402 305870955 594330747 673472261 422990367 333826230 363547511 619772135 908063650 896811932 976621614 503453436 739896200 390028802 405766659 542319937 303458099 141323019 610019062 269286573 673069830 375389953 632872590 300472528 335079429 584946173 131752494 827918589 212958184 415879261 838955544 962534811 154966281 531313530 324930706 565123269 657788634 799481992 610256090 510381127 730029715 672485382 979252527 754020432 153139185 512404533 346507570 263929809 364172517 217252760 708755927 253102630 723969608 110067886 911283524 674461582 988646238 400104013 731597099 468982106 474989269 495758349 730853136 592596368 812996433 192766239 900579754 397698945 788228460 784572159 782677708 814572624 924371060 344691332 220602480 656527996 925087797 441923412 864389692 131394179 399213215 414077040 918660077 366700804 857049164 867817777 222315897 113482400 187661199 836327900 470613208 689939436 965273559 596578861 574677241 123955219 996648985 724442355 402546112 405806989 637575780 388944061 144437173 235477994 913755974 812176230 730216155 604531649 900246793 602185258 647911585 418627002 268850055 764747420 391788879 107167871 713563133 503104885 194356793 125879681 360402650 577959713 423976841 274787483 373236958 691288649 388713634 567888797 445797973 815756454 273772978 135108570 322862996 561178030 154141497 254635213 629127270 972956052 971315369 772885798 475846133 619101768 189206680 127476750 826906620 642218388 665512793 899749568 732615640 193812586 674502171 250535698 315971776 521649827 893656394 695759920 807279809 895227652 942415543 688922338 873126416 204057547 131170328 690768890 371813007 482328049 469335361 502369433 953114667 723474367 841296571 832213429 646201349 137732975 635887902 319991210 479515257 165838883 387766765 178161575 895665714 366908874 363619117 197920504 227702054 168621261 659448934 929461071 768969411 301754935 315222515 292288350 637714861 653564160 243611241 828223154 370937588 446683441 731526347 569135994 446922049 452907496 523578169 365628540 348651342 238693973 868557629 739721029 621560612 525317136 525676998 725517471 368951510 700725724 732056375 901055173 436923978 556666279 245661041 280662059 369746950 841656911 989003387 265373732 620306866 624036972 672141768 527616397 259952891 244029621 860424394 176726715 554204414 740421207 195131577 310747070 490066117 194948273 184849434 248568319 154724102 661222408 667128696 879354366 194115838 446319117 977215109 426293690 433619993 494296227 541123122 499160928 893852046 620775231 632487574 631807011 898100103 543578131 368080654 338449357 670638141 486906722 935513704 637185484 697309980 172683204 683011850 395337599 272304341 902863762 394037019 606625994 128233936 700118326 591508856 362567492 134837368 154562551 280346825 186302718 159839815 827240866 405405689 804404514 532505485 441010065 861134118 292600688 677372479 893128254 407847100 945055949 437075490 800181246 175543474 528697850 592048285 884136008 600882425 487119505 194660598 903427694 829271350 320294336 863843651 293977221 360382867 851206033 771008960 939392754 928069458 778384712 649267971 431887640 764019534 368222665 806500048 118166564 774267743 851898960 762414814 907560622 532147879 396976731 578700032 452234329 962739162 382846129 916014232 697017956 424950363 198014858 664574226 540367555 139157734 998059856 318292350 752658440 419536618 263522018 153532934 415694837 419941264 961779831 823228724 349207080 535965391 150241778 174017133 812297322 820806330 825546122 972332601 751736796 675744957 778643372 319878837 695686211 361828644 643023201 469853118 380663859 540628565 532045216 914825295 777159075 344184278 120743551 576884445 371256415 920020904 870826974 145695140 617281072 951195142 418497576 535735218 392187129 283190852 116773187 264108729 349755819 956877219 111823896 902191455 162588709 316735460 955675961 638458235 355945144 519439346 395080622 384366459 517415777 338152950 978692372 253025215 803195980 108096061 215032912 638081567 796328039 679482968 261305211 188851365 571906359 140515416 229792972 942330011 885517484 198604588 914532144 884065150 539643317 152632071 627139610 189419728 806622836 383433941 491862704 338047628 739357927 107938541 265699320 972437832 882880231 470512653 666177261 383396532 269349445 740865155 782742283 952027288 810978211 864329649 748592282 256244502 333242061 895673183 645960563 947888726 169193773 698172613 629815312 128559180 984594332 515836771 855053288 993981731 818870938 252499539 721347018 489156376 855884706 975229625 109223233 737341250 304151249 785543349 501040309 756712428 658559500 491398198 990169220 424067315 571994026 979874766 926249087 794630489 655165248 132440235 627132733 905629415 882393216 783320077 562291807 709046016 542966792 422647271 507955100 148856486 169733416 665911090 986663273 158937749 560200278 657947274 942084687 203710454 697328736 862102596 420594609 232787071 225601452 808243888 630305622 807253596 901963887 764845877 230220227 652483035 770129964 492076021 362297726 869599513 584078278 129995666 988387677 497786960 876059032 798560145 243895357 576265652 978317624 237203482 944950289 972806051 358068214 465379610 523025930 443323100 377370651 785977634 206516998 528791110 900251231 431098001 728916243 126721581 288006748 839645974 722401298 249959080 480178624 213045830 355841239 122778386 909807428 337455175 756410327 362730966 685862646 475177696 886797730 383518699 744778484 486295413 783101728 293781420 778087301 933373926 387551950 795178895 292480027 927148134 344711631 614737414 964281627 739167276 104748961 286566221 372311840 991243719 208107635 143911876 543100507 537616608 213990504 628361735 619780533 291336634 501884113 123881951 679378453 410693952 641764709 945491776 144728533 177124552 165543313 906615478 829595307 596192576 378551157 947092483 302935176 666469966 200119287 576545290 842184531 111652454 528318064 558164545 913737593 119057453 269663923 966457636 424284538 751378046 250760483 664099402 342929171 806308106 620543077 984350178 390822332 198610876 533465447 222981409 918839692 171026739 113229038 447535270 218229907 683856353 105086007 355045346 812023389 241915976 447110924 512629297 781298525 345467017 484115373 241308386 397656469 980686829 336577711 937660669 592117488 296871948 446479887 966169383 764497465 175524589 384115430 972347681 860689918 569196590 521091814 732363433 713472900 121831288 543353821 249587146 969329726 563831557 732025795 405750920 430122411 391183603 291592211 414062428 830509477 943261460 578617541 385100897 836335663 441726464 861768373 553324062 775695183 310735641 910299731 760483780 877443288 953609542 707834695 819911712 937804162 119158147 224303133 775214661 500825545 140408670 583606108 449872186 508194233 385569106 994645958 584853683 856786960 678907886 894463018 318525584 253705737 810185463 646965841 828132714 499738484 101294678 468855276 534904624 780800427 743566606 467058865 199529253 813833583 942166470 377115322 918895220 891330800 665427698 758761969 281605714 210321399 547126464 421918513 420617674 365731638 254765546 327696813 202264457 570442635 690045065 629300310 838519645 751118087 532672472 691718093 215171488 517008131 208519546 853200884 483554498 958782705 759082411 869393390 556066330 305961587 660317353 305724656 590351119 858946021 641086198 408198965 992804306 604943576 647288177 209928771 963592595 883056609 800410681 563801676 887523900 887963916 654430558 706266529 992429589 547960786 592955031 203424016 961675873 482931256 392750940 561396023 280435257 936531155 551607662 182224502 339112780 975102796 657378626 512857697 795156329 649135913 575937127 249057491 418186285 736208615 444430596 994079439 310910790 847406472 496343804 878826272 882940694 703968924 166052344 382874089 540146959 730520251 573461788 647426064 463174149 973317297 949401442 502717806 191912332 639234175 824376864 371705216 606571212 678260285 603181036 677855739 799189055 270435854 982292737 946242123 939172828 355478488 576227175 672581912 248539650 398318326 877902189 992178223 861463561 358982942 418500081 156871785 663734841 406878046 782223971 909670369 313281275 984412824 446896196 513167376 790448831 978466708 569791557 864849438 615715173 409740624 517745114 701357295 497471570 321663693 429411982 407610137 145284411 815753598 790932403 242816812 139234947 997571644 580476806 476875431 493830182 273251577 570358588 487523594 721601767 102288991 469992843 471064475 311076667 278926009 135776011 223113346 947733695 518764316 570132216 243860799 246707879 816500382 652361338 620481292 282478839 209514332 408330211 571932776 716744615 387291251 801936124 357472283 925469802 920716152 407413113 685458007 229209399 173816874 115957985 996559650 705582540 367576224 482433733 238217600 281498929 517653750 594428985 956531070 679259167 729655796 729865970 997697165 478601275 257836349 988997289 322682764 242292037 334962755 474099998 482414505 517096443 993901386 235114728 889043347 349615003 101401993 365812260 262434335 777520325 424500342 554974167 578286564 642407371 183471652 117532595 352623052 631947653 293539358 819165828 836352224 314940429 455368594 885975033 554759772 195478434 943240566 296563676 974931115 189748568 637224714 722687097 524255127 292905107 530466405 914784276 942155721 906568319 147344924 511923355 218142402 263286973 738607168 693025786 614433969 773191731 970114084 306129561 909431721 653650381 562097130 892460014 891391809 676643840 976899404 679423026 538287899 913228600 847145564 938108721 523570740 873038679 906847823 924625757 503174322 870581334 922499092 979276043 173873870 852666840 872213372 389699189 519585135 132017857 761237178 896248658 187396187 649146543 225138741 570051732 337541308 318598137 511524721 442001128 225643044 279451712 933249235 284511179 506458386 280207985 531609213 699919775 958002029 477314260 137459473 730631029 649701024 991761993 168898038 514938549 525052586 487309981 466648651 928516444 714269410 126092810 623453288 924744028 125347078 246745886 351028034 335974329 468768961 912311200 357073025 256607076 224478139 483201287 249090764 682999677 667069746 137763879 280464561 434018738 659012336 798055645 491562699 934347271 376741399 396237841 884029758 822489075 352988651 888337426 320114040 354190181 526423501 442394882 976166728 825136453 230130956 169572966 505544690 913379552 450891280 301304607 123601658 584436037 499882709 761175572 986549070 322180208 973450374 965086758 463890370 986437949 325227168 679533385 601508112 469374932 982288831 788256642 288533007 790551128 382553848 209099646 419356733 365737496 380109857 799234815 689250475 682296169 649541822 267417461 731460196 595176333 410958511 194947125 826330604 611292023 363705773 159429539 329054494 508778751 713153390 964171691 143467768 221164148 344326514 409885279 570590785 185637284 410123247 143134545 276636494 201962854 235814770 577781169 552126930 410813646 444666573 487370836 745889043 439815031 921138132 702443638 871686920 459342841 758718029 798931692 885215968 491410773 117462321 131355076 323883683 652656232 701586657 701915950 491384349 208502115 816364676 378129594 273573296 915762065 388575796 584827184 786006654 392144326 510607570 995673650 372267562 898430894 145000225 406764323 185883219 296197537 633630889 319063675 559094283 550141632 861097018 776408140 761887149 300152880 348468664 885739204 536919276 292908409 456712559 624550427 714141759 678389149 231221869 840248394 158608341 505704936 856348611 708365416 718523782 399597259 644660487 130640700 108815489 574843532 233393453 555106737 346119969 780868116 109857018 474051097 337876142 196062838 944899716 708764559 631383239 781888653 176251976 295816077 188955666 204336721 841148381 933486303 857764738 961939799 329530699 283888496 403570459 614880188 517480672 952842603 223371206 921240441 913196371 541003411 111786115 278906077 153677687 129795223 155828271 132509504 280987389 525818698 264535452 358465386 228650744 657585735 631910123 896832816 933138629 470111073 589978459 201039652 261680222 374134033 259426767 329634794 890542579 729745828 782300794 216515891 198289048 923401462 975548906 481039435 550792691 115125269 437590948 808995946 442133914 414835533 936715291 371517228 291532381 327302162 951006498 911913532 315953171 997893282 867122536 498776221 237029834 363116806 281606011 603824470 288854863 841220037 712746839 797187919 117491509 327665183 394572721 428429740 930951621 770079774 653481075 509025657 314104494 770860377 763423393 112120709 867604931 361107389 628867366 129213449 479785177 993904595 711759657 496747731 330086353 326224191 512964468 298642691 503810253 596114900 209773819 164278825 103412076 236206866 452365872 197062541 349520983 843652690 843604585 170744851 368185798 658644426 134251887 722746009 556806020 517646889 484321129 300441621 409887589 722967759 266825698 655502978 733226477 810375205 943355156 724135824 496472858 242718146 293540494 123192963 791407283 588709073 583476751 988368011 562373425 725314670 991702259 861076304 917954578 440151210 180397210 345889630 939766341 848988229 291371330 646893021 538433763 935375502 494224299 865993313 368922568 684536831 932651737 267491715 508503224 842146852 746356857 385727204 483134739 543272226 213092287 258378637 474593016 536353381 933458369 481086286 561021593 134548009 340102214 400880006 515960330 195527248 729994346 352122256 412094188 959828182 205081661 960728094 716050232 662095329 253944701 896381592 567524433 439738931 794773055 213328193 867805551 829017964 289715826 667943704 962203899 563322769 193985961 609670140 722792597 821682414 617871557 822758912 122950170 830225838 422742678 548676605 668439568 491756747 539749815 917787281 841260968 128074520 979527841 561902942 841020740 108937071 308655496 465542148 286183844 495004349 908720798 663084536 535698483 634096729 470390257 370873450 507739012 812961396 783452987 403524983 498148363 991213805 429016744 371054119 740010792 616663340 997432267 513639625 786144262 868037884 415680800 248966004 566743716 239403090 670916636 252941953 816551275 645064383 166374707 173022516 388682967 465134616 776555287 513308556 873482367 448374156 539269235 831623593 300252072 930432900 742730343 610109086 933677598 740788657 397899460 481476452 357679609 852002936 946596113 176135217 414986122 311508729 669155618 391274304 966747576 276455910 899626912 185758523 396842972 320007426 542896665 776205002 740596998 516338054 676597158 952292286 296865967 255492623 579398975 449349939 240072334 273436783 227058495 501748842 358877905 491071493 960158509 767116221 546403244 970333430 785114469 551927795 873952772 291178104 293957555 903402786 179441747 262510820 623690539 997738266 615536792 338099935 740724401 623829698 792647054 693493871 184170690 595269218 712720248 667340918 326945929 335674583 750670304 616062794 207772324 908980047 220147480 722591533 201810407 486192075 232331694 475389320 516729182 758860870 368362148 150921422 552884914 914330794 275777998 128332979 579242215 323304576 322097814 680086535 915711316 996703448 321710217 518996395 183482300 725622359 465844662 462556176 288858976 510721844 440070574 980004736 971703701 424366404 967985546 670270412 323598172 499522265 329505686 584424815 473603077 752346328 704471865 888356532 718383334 323232669 170212302 518614703 814841764 692772035 291608975 654674448 966408391 259075494 861467653 488620354 275920772 642524568 819912237 971620285 941800332 294623290 788351457 708610645 843621807 237591888 619298308 635954944 163052110 355689528 818638475 410223698 379338533 922313586 159717433 968042450 490167807 587237412 550507160 706122192 995070975 864868531 921619925 804216972 147624252 562116639 418179049 980081138 477663348 889703511 383656141 549487712 746299552 602351124 847740095 858561175 617034537 657131900 403512005 237201568 746494996 372572829 837838970 725553071 947449471 256240085 304355175 181327429 798248361 187308530 706305884 410955301 146545343 494189850 314499031 644298401 863280570 339109368 652905013 944593594 634111732 105836518 308913748 249890261 963913925 956179762 439451278 665433741 318514498 717427564 763239171 336908081 113381058 389938313 678869345 505260951 601740572 819001477 749945600 795602394 668224135 691943230 304678190 945239922 257958100 818355365 380041177 544980197 753606014 759702983 798860894 567760228 128389328 646703440 899714226 110308513 124087240 346393325 580148663 309391630 678035845 338540358 658927450 666862493 880744255 308708523 272763393 427538369 610833957 767853224 429908917 757963472 270052333 321472875 212836050 819667307 260217842 136353762 587174622 140915894 445352300 701420095 561015503 535617062 247728344 193695806 332454279 253817804 539730800 382905824 650488687 289611019 483961098 584102403 930367264 716287357 551613408 554067661 589636952 291579655 365909052 967160336 660451516 912268329 672451157 797068311 601220506 136612184 456760874 719659724 679011899 450580745 778523588 699327932 842030456 227619440 703135518 160522168 550990688 408185561 150121187 398608002 622684858 862528339 367749875 467889477 809127852 170935643 618995918 485637620 425032484 959555094 172589910 661914752 318743795 155126647 864227025 891843563 677108665 578065774 663355116 376307249 876884616 992245060 632155212 690003605 978667234 293955862 351687397 731509242 192674482 365454761 211245682 548282746 672167350 400720272 319787104 294672329 489304629 389568807 276670581 750068940 922991692 499883652 768220515 303356218 731011035 262295634 816365235 527156385 106628796 546802790 219384668 696509061 763197245 118274542 937147514 968893154 587829942 735713858 703752963 369886632 527634789 590150128 734016728 114230128 418289190 588511775 809769603 467992259 350092697 173697801 565334332 263398267 475641492 112106653 162599287 627073483 883661999 530298615 153756333 118706684 367771926 980303731 324621869 368958379 734309118 771015907 440726849 588633027 353847836 672954129 955703736 498350508 402189326 897512523 198677811 288183329 639017716 983233749 286610448 699613614 181544608 389804414 662914824 384496378 762467823 491117068 621505336 142570488 281909783 268694643 920041300 919655974 378265362 430703653 628380171 970739130 301240856 414819014 310793395 923343204 400784687 612810151 653421404 813107265 277402016 263284529 889187790 142807780 329592892 318518796 637984154 288206182 555991058 985202389 588077819 309868741 577819676 743869128 145837891 180068251 915157154 746003566 155473677 364070768 882610696 996467613 855395048 464223115 241353801 603512436 437235139 528166900 901852999 774922968 920701456 537372292 415132837 444107878 314937667 300420327 690376345 619438797 684848932 543169586 425880586 909056203 476544714 781606269 695418507 186558386 886541373 783479744 846639365 574188417 310235123 443369646 870717637 701236368 153988981 483427412 826597684 918660859 143963415 411350909 817597476 473159016 280121458 842347709 901846707 591238674 716041734 914204384 566958237 598489756 194772276 234222490 835112546 604281202 876912189 912731533 681867212 732337637 391547718 814195583 155924148 154231076 497161424 513335122 727335368 241802506 443186264 214333522 994971481 124974373 276708159 760457719 437883176 139044068 229116746 870075988 249412057 385693543 669229985 909387869 695743776 848597696 322295987 662522218 940560445 816119277 159444179 624342189 265466009 480610257 810608599 581288730 736341764 371029480 138707617 246123398 420794900 594021056 202763668 455632331 791912986 437282242 634780015 169456238 830970123 708164369 979876473 113806617 891368497 593751057 683800078 881934174 235896034 914289361 933053402 880783948 895863685 764634395 689482503 522010518 437278314 877304394 625615099 499933742 344795877 754897135 144111318 274084589 258720321 571676749 846731358 152124856 233273647 583352571 645346855 725398480 134625987 438163599 406326111 459778003 325987903 171929059 758662559 238894372 521157726 177387208 606904608 692695220 517519051 726223378 185462847 948097036 375378479 211953530 418998412 129021854 113565512 804001553 272281687 438363782 379426179 471930069 264159533 647303161 526128404 518815484 966102702 356090017 585895587 491690700 636728278 824944776 470279565 272885239 605457219 240912663 941018045 357550646 936163903 568451311 842683185 523110918 604669008 694958383 262218352 906964364 591983253 245404604 416039780 983370919 537579625 695391961 529715787 207818415 577910617 797445984 289909464 575333565 945172352 911285060 854852927 835745900 177779883 513508421 248417710 853049482 279985883 825579102 261512463 193764031 574001948 606086782 435597798 152532414 505555350 114244749 796055077 635277104 635366233 812154052 507136682 369940535 417751203 116739368 890449126 278139462 895558750 883865923 290789745 104995046 202923230 614663393 973544969 197885601 113071383 816661110 977145463 399480996 449520077 472344062 972263678 973971097 916050575 537349694 931873411 357300714 671107691 785539621 419208802 767370829 149670634 975314919 283655743 392170564 303046017 140972866 952717134 684405299 839827084 223075426 959685300 152445235 809246338 605490014 370569398 873355635 241932660 831509679 738278514 399517198 644813543 566204701 401522463 935491230 204236796 607307257 685525637 302184690 966482459 897317683 202326084 888574377 239563806 399967714 583986248 630901154 797216551 421458703 536098710 227513356 239042711 795756122 432497189 178799472 681668784 573116256 172477167 144066333 652978642 572087439 192825434 990893015 428512976 864198818 885617650 477654410 895567681 709590579 525702025 832132366 282149000 217585417 923036742 374311740 534083994 435958890 620541809 345074614 132133798 562018683 745053569 367716731 206797984 908077617 844430266 709337245 201416503 589776575 989126243 746190354 317311397 392108310 409676874 889925540 149548224 271434914 988303448 949397558 580713087 245520075 119642194 677742684 538823978 457363197 706025944 718680929 131734221 559822402 308938628 360147446 367960903 873695279 556910928 484065299 899831505 995054390 928770820 121360453 807597152 348919819 297608336 835257849 700049237 833585271 105715128 812540158 207236541 232444834 297373818 239390946 122943682 532984116 178529201 349443825 591078238 570795900 226128381 825623212 700605721 923034057 837659876 345763618 737338295 351772544 781815175 587879103 129886539 185794236 917440625 924838307 920296380 560776202 693576246 194464854 757358961 852339007 883366208 333854007 323525440 322716211 152074371 924575445 231724082 716717248 739576938 603529030 888833554 910470948 429372584 571528386 876974880 854397635 385167679 970417537 707474356 120197614 142129039 234894240 476225587 495964020 845533533 519243602 494426999 566350759 762727496 348992483 896832145 156900347 359917748 592524584 731157418 450459928 269985042 276113287 797067046 543052950 222557988 857568820 814341736 340725686 269824148 857721743 551431609 433113383 811699191 178401084 565794782 780306723 461472444 559692809 733166638 931021593 754247200 885088762 997081985 998864419 664229281 448326039 377271901 890204439 684491359 226749053 167945000 263312749 487251925 192001467 391743471 512464372 916574331 463480376 596762972 223610566 373269416 381178526 575263514 123361237 720569892 631646661 453837857 604847557 786011362 970372983 531460597 219015270 269807242 332974895 421471376 438735370 944940952 916628900 262035613 816165233 315830884 389404512 883164950 186913129 801294308 255449935 537412248 170240942 276918927 550857831 316570999 732922760 131796175 618786541 838797040 238030132 430941885 442859744 580722376 307661834 851741815 219033644 352177982 504476580 493579036 323045888 799154835 853786231 573991775 154089397 339024587 214987895 162913766 651096520 145451531 730024461 498316064 272078804 179011675 755099467 129599575 117417951 653880512 472743277 727941906 335290429 278607363 244208041 563187680 724395482 173343601 663220610 319773795 158084154 341851076 362668282 430315377 271398115 264754527 650395255 192204946 988020940 844933593 949540400 974329255 195195965 533643702 935930810 575432965 708891956 706221677 611992419 237278010 286325496 154070555 536837020 160296457 659767046 260066532 689780961 764363257 529078996 926694173 836072602 820729911 737471916 789130811 590722604 109567603 423414426 740269624 493024296 231227821 198646195 748010717 326163202 868098117 506138870 207071734 520134102 525544711 320305752 520921153 601937271 279356446 939278257 492035793 753932832 848622528 675018295 393892528 125922438 470686498 715382656 164851706 595319365 554728282 116800827 448891272 680801870 965507530 979578459 309128364 398907146 117212658 317492447 869651872 470003191 987678620 541954739 503814798 427508805 892036183 963062173 102841510 176841303 579511746 919575676 631574631 114172782 275005354 600980574 769473391 979812663 329180104 530132062 362682847 699074015 737782041 870668047 434710948 634122084 549852538 273392438 275266951 235822642 492225047 222530631 564782963 483822513 184912468 765582549 623708027 770824836 849343000 800502671 875821455 808735539 669104442 938039503 430727872 209708913 931612553 823276213 270213726 301188465 164357005 851174814 599043645 940756664 576169795 439619078 320568199 463206744 818998418 403848224 813542602 215580456 970352072 467215834 995782343 325333369 247314436 891132486 617360404 865016887 893806946 605935987 272734281 824265826 481063333 339650890 333740790 137945200 464498827 324671810 691411298 207521182 310377588 899933338 224226873 514902215 174053353 665653355 197644659 317877203 476037638 974563336 118774455 169008332 391962024 914784939 225306069 930705822 203903657 854261048 408320434 610652321 484606602 775774878 377682200 612216540 608988034 190919602 335314381 339002947 925295453 437313319 138127730 953452014 353674634 944161384 863938385 169314232 652837794 195507263 789916274 117353337 493946876 580885553 848746234 949054410 710457711 631619266 347947849 280634614 494378941 106481680 925809021 350332176 297382958 659646855 315360929 279335068 403311765 372034058 722168289 849738730 582441057 245091199 698873787 474390489 224399977 834934171 452995372 720895044 310318835 420843034 970345622 965452254 933167979 888985854 525198250 494982806 190350640 817235745 285719319 908022623 847785669 749207849 187027725 475743214 804428142 297214557 585089963 305150735 175071537 373192892 790795127 617625638 818991194 211815023 970644465 265665840 236771257 910507942 139751614 421273721 842420591 263679126 696953202 414409734 502402137 904312070 994682714 326136751 240511270 273688568 719782039 476768115 924149888 674084283 101596759 634136109 860785476 543980022 179647187 560569474 392420336 458038644 638624250 716688251 688040445 789437061 917057256 968764832 982419935 230278257 807352631 984702457 726303924 155737719 245310433 104893090 620382160 548403629 702014515 906483583 262642340 404538390 820807347 695306634 667255423 626123238 424770055 159338471 820116057 440678984 630567122 516949485 285500384 579017085 219382728 165690350 559379178 602035577 914343806 527597772 811825431 883223367 620800290 557991009 469645427 886645285 500042793 439161793 520857956 616077246 125137258 465220296 233753141 659816664 963232536 667857033 263654293 923178674 978173938 700364731 863061336 795270676 450559685 914718219 123650209 616373599 796652471 851857124 757439843 252835858 561439276 823960367 340483090 214174759 925322608 134031195 216254298 615477181 528410217 831118308 495341046 301465675 228093811 393039320 713922285 474907115 929254606 836679708 841563929 251933789 704923559 718303261 377808677 651229057 789699581 599190971 157884549 254730742 169761177 652893030 242456453 199707477 475951688 272958338 540753132 878380652 793465786 749173071 351536842 179799625 331099674 684152031 323325641 879263883 816372573 916990803 269482535 250811099 907638919 296469663 230703308 221124263 883427504 750980951 109410498 588460885 890665000 856237095 825543162 736079678 511891940 871595143 735690439 929234561 689502562 599556666 357367792 339758981 281622955 318182300 698397328 923514972 612674216 719058447 471595512 403980240 629036628 611497102 435040306 372072507 698439179 338892924 973156954 573449641 549553453 429254931 707022224 534613144 478953407 392666742 595148409 123537806 819935179 258974082 138097286 298087152 659620113 808014942 625269551 908184063 386742735 131588909 218872337 539553248 578961979 791839957 266707589 852822384 885207157 444920188 999053850 998311110 844380026 604308912 286342417 709703390 318120517 165261294 237920409 267991957 617017176 442050221 988906710 752438840 268522095 354348960 183093612 638113459 469386364 590633714 914111967 264006199 372312324 771993724 782490399 483445037 929537433 363089256 949730685 932735631 800153571 418494192 883328564 246092769 187904954 650644676 934715676 168110350 749355715 776494053 565762673 624940373 414260810 589672885 546494402 416499457 202515961 159244292 851016824 263208487 800072247 843686778 129896707 875556902 303732669 624237051 660119111 732690533 201230478 683216241 611876115 174441655 541116108 620580534 806463496 586221728 655263677 384160704 456307096 574446057 284281866 895010412 206491499 515577217 106312691 596207134 666586966 817429480 864679472 362314757 577601388 627111062 706446895 244768709 922621410 833007681 870371914 388196931 442025120 525091696 105974141 495580438 172920064 674678435 506964453 342437790 208713084 764868917 936068563 482681382 990612349 757052048 803763680 400372590 784839330 906360730 256159441 877722321 290049485 299147425 692849337 116794915 998008004 438059686 145598269 811366508 255342775 333678165 411700870 859165845 983949686 154552829 400679770 296482309 696254484 141868052 420828681 600656546 859624977 341852144 986310274 842185160 124532976 196129454 995017119 151738448 435598797 880395566 796187853 630836658 737159393 783395621 971941459 457636745 682364770 228556333 613083848 207677150 942092737 232993875 103668618 352615731 930650268 717199961 785926117 737192617 901435350 905029054 573326358 457136244 127469918 140480758 158789677 878701616 197381958 258158916 962883931 742934991 355920830 382389788 723083992 923241432 443501706 816022023 202930122 619248466 422435713 592907667 117117683 889982466 370023160 920831983 148783294 335350675 886790229 192055856 370774408 479637253 698261326 365956852 275658049 611395850 139207502 607169229 952154099 543180848 179398213 472358566 730090076 837204016 935955424 128185887 317466100 456459546 402673374 578534856 966021652 867425424 671468434 484153218 469354659 654930920 622950121 916670399 310159746 958059157 160960660 123967764 248626933 774366129 921731054 203552266 317959981 422407426 447161549 846909920 455701117 912122565 216287596 159245508 341963022 848264894 833658252 327308748 714723213 733861231 763396742 173543034 509038204 706574604 864889034 531026882 309476695 177601586 107428245 771545973 842310888 567062131 799062928 458162313 151949261 575626929 659187747 791876038 891000738 781502203 144894031 217012558 986869506 678008162 623184933 140044572 973624244 803776568 215945755 251309780 833887765 557548473 767917419 482430911 434651905 659317580 909473272 370939784 138993188 188025958 607693798 619389099 261250037 209700885 250739525 693326409 875800898 946398907 142260293 859110923 215063899 774637370 443496975 685085535 300642519 879842083 296343738 322233606 490515201 299612763 136533612 874167531 217174882 457212119 864664765 124809418 715833545 207464090 507871648 643679590 203187863 637546818 333771215 454544605 662462341 436468594 220609266 901468275 290294978 197903950 758083997 944021152 574841511 886601460 972717670 833567020 591460469 680486621 587272190 425252915 139765479 126892481 689158085 614742039 625482762 947857711 674567821 718191676 154469850 120040713 845402876 112803424 581903027 699400518 112094047 399030208 838679171 290851159 868447199 312719125 897877986 833798980 432755656 621165461 125431370 538843842 311606781 648728233 273153989 523093059 796193368 848197912 424991172 256900346 867938692 139469308 266287153 469553724 677726520 343956740 397538415 355527298 664279301 587954047 992819816 103677047 420092761 269166263 998675276 278884824 670036317 552670013 282220964 475691950 447559583 415094030 566389097 372823030 339144926 317516840 461452016 669654701 752039667 241271822 220548371 794860032 441932942 675821970 215507842 507550761 368836482 622949058 621337408 346447995 950372955 337013079 650045344 292912708 263995738 758758073 779184745 671440122 712763664 238818313 255783222 802750438 561958111 522529652 996949440 572289156 828558761 429280658 241948276 506007852 778748637 131592652 314555903 968307929 488756072 707593362 597731071 423067439 617970445 612885659 486819108 429148917 177172655 379700825 834065349 982285775 283947068 839851523 211370217 348167049 394078689 622533017 825004225 189938081 337604848 936181202 547438993 883862095 688985200 309840859 778122203 726782301 907454501 243116249 941378301 498342383 594326760 908937919 245305827 772306518 517040706 102839256 224922676 295438398 603441201 771811437 684834067 584564037 872894940 678389844 753318580 350178160 328257833 420757602 128151284 248448894 468269249 897569949 660863611 410220746 857409824 468958954 871617702 867566695 220275477 506995738 290522640 420948131 851607295 892360024 530095919 214732264 428137454 390586663 782668000 668861590 803975711 586469129 998092984 746239980 316212152 589325467 732449691 732157801 353448401 576626269 586615886 513167729 420150549 563105540 226222478 374872479 982693109 272393471 826826415 409263620 595456067 637213780 214307371 460523726 639392739 731863252 509379489 693304817 563839767 654583374 284051154 199778367 687423078 704499120 121914021 667894505 559054876 435976092 246990105 743662065 181449335 886483501 832247060 564076819 110649530 723163263 245823121 447916346 361600656 453312251 806106344 902467753 991488105 935183068 944923213 251654871 586226399 908284200 665388317 448239148 512945930 689426297 537356477 606336908 482095337 849186902 557324771 320129222 300616718 679654956 702999692 678573003 196967866 504270148 837314325 883869390 828102724 180603120 846840630 558107749 332168607 144813691 199048427 297810206 569744519 306089147 486178131 675788863 190598344 928512089 803912108 463113527 730500450 309648604 128249133 406781407 209970639 689469127 416069906 620913981 432394295 553513949 603025420 474628047 813258717 673647761 422912779 561181591 822997277 648890534 748982069 517795942 725657719 392918435 228471138 289741288 408070418 940982394 844176466 851985948 709298200 178232981 474056357 376250812 732601888 559946859 783272708 104616966 339934682 222741767 575116309 580989181 759605699 722211867 350554039 313173887 945768315 611051281 898165734 709845800 293202431 409282032 224992379 734639290 118731894 910745971 575495751 573562912 769160111 672656266 120543798 135610290 179193048 418640870 214895533 229204588 791712495 927561385 108308209 590272168 779257492 278023567 698359802 128508535 707258963 588708303 324770304 568019400 994938394 726123937 494242243 996837203 351500746 805869462 577935313 974947705 718085692 691156925 286267174 996200291 773437629 794969097 630385647 280464468 108656706 676788539 162887334 814195145 444385468 963671880 812913064 261941816 591157002 419720764 329113751 758648365 452084837 371784534 297353261 589265672 295789731 890497534 957816467 135637317 203131836 556268743 785775483 800112564 416829829 302017056 363002813 323371823 624417565 382290831 597790521 551752836 737331112 207795922 530246651 143075853 267546811 476849503 183659671 699708285 151773111 452369934 427362816 539322078 524675613 111258030 937879611 347852460 660392019 933790040 104489798 589366437 919082545 948942275 255873440 892441986 138408138 312358281 359822261 407737106 833115243 254146624 213324049 373467301 580260361 236353778 108906503 544092656 908254798 446288438 898758390 487209980 168933818 176254325 794725995 421254037 570511087 761804021 270155441 702388727 522486947 696462027 207566922 211020921 946204615 158570995 637370622 991940155 801945421 855545058 351287640 480504130 765162404 158232059 323396267 407324284 518297249 518205818 412837317 543570883 729436169 790022372 873577521 368663713 359609510 774393549 181164721 349829812 511386818 482246150 729947525 225846454 976028436 806885979 524313551 790043285 201084582 592223974 869825990 275224198 866890626 272811728 147261063 472282064 438429815 267253850 855459146 279947592 509663369 498651862 674220636 576570311 124098579 437168152 581778894 657336400 674914371 383285476 270410479 869034263 535533280 530203773 498806529 329751829 587608619 730273087 135984776 673531718 970023986 272533373 216180706 112883233 699567277 502418176 474264912 839989472 239120981 408441998 144703179 636991249 907896872 113565400 857151538 974529910 774685028 966572762 477952516 763950568 619823189 541436123 114114631 282902658 229574102 527322132 256039376 697114326 104075587 609311041 702322846 432214782 831248767 122645808 937384048 715821319 825127546 740662974 724365696 637307946 704745519 450674475 141779109 211032922 476067602 328968483 346025121 488266502 586591407 122172652 206408535 912466956 542118072 309801894 672009085 959808155 723278782 347684387 904745226 525546165 709051192 619326095 744601696 732060072 619588461 625336828 819876474 248425181 169764855 741453860 348977433 407464433 253310142 108476434 927428245 500510896 395108327 883835470 934801609 488339959 955308160 943853495 479620578 599135167 326869664 619493744 531684231 474984634 433964026 437774845 288486813 464121038 336030386 876346919 429594740 664947890 690948127 630847634 887068518 732644648 437005780 576971484 126773282 328870727 225204642 848073174 413691573 318212903 146209600 344416642 208458769 670298709 337167642 883535738 667613119 546259749 293969371 817455022 318902760 937600050 228245948 518786559 630944664 406094421 234615053 277894769 419291814 460613646 626146130 647819827 731130339 840303309 942611745 711627450 946974611 597867806 879918429 235957491 266227817 488864025 212915729 681167858 132606422 294580364 375775220 690390591 355825082 851911661 150348056 774208735 552257161 436832067 942857260 898797330 110325908 686603699 637770579 192495901 376577181 163441624 144986930 652612024 236015921 145926638 462952861 225919710 584673013 939862596 668472163 741910790 611757813 882445344 927564438 560303965 567512789 283970010 445215403 426099854 485372690 342214449 173513208 498136586 472888133 593378722 832027574 106575608 235073178 509137533 286694946 205477016 687028415 918794954 910071437 189196960 660826903 923735975 954362614 797002708 616217001 192798544 958429194 898738914 205749004 265661738 702753367 411766111 662402314 204211389 710608832 832219253 833322089 315950953 270801198 174248215 699114658 136833383 850693949 120755987 933720958 366021854 347676162 451493857 735124393 871564224 519214429 557144709 440804580 451252614 469037252 708547708 969397908 422598859 924601288 111151692 149476343 807818801 988670880 686272431 111268208 795967919 198859643 338504206 433547588 321286791 617548008 312586130 494135886 542169340 932903176 905923289 396578066 495633863 269435794 566185089 747377569 709059814 692954227 139814677 498135472 258242895 515001541 376302546 674137588 339211022 563545763 972859420 938024848 664765074 763475159 688083817 133274702 509690608 546769359 985705016 806704646 326787790 210483050 452492216 641617776 781879164 810700171 394969151 351588955 133810501 887265956 134148423 494531233 318473112 508057513 854355352 460419133 850103732 269729968 674629483 345525615 110847458 732320109 676178630 653290019 152195033 241777835 464152232 164624274 696114842 222560226 456301657 398087584 506584873 107900755 494290530 893990368 395033228 491704533 415836940 686611596 426871154 794744737 746829768 953243231 882096780 177241773 804333602 700566904 980768678 893992387 482545177 546573242 124598204 676220514 810200309 475127422 588980258 399148975 660946951 856336225 775631032 491464915 235381940 471924720 855205968 136135987 205554659 172471738 606091473 683857382 252544937 321071778 150551667 602030427 302827284 199043531 775873366 578849964 616914488 874574837 748651729 188491407 409155482 462387734 593360676 250437512 856400599 124375419 947587056 777469355 544624846 266562795 103545793 288025840 766512416 758575273 658468495 216915699 901637696 595583845 554381862 830735387 278166518 516174741 990353623 676654458 244823978 241607214 292156802 185420149 149747302 112297914 765246911 913090155 344378726 587264158 733074983 209012740 512044618 405026723 423674247 891260845 718698034 696351218 574376784 872722511 155632716 306185131 897796967 769627369 638321379 315607990 126153535 696762167 783279405 775275820 716386539 974274400 382777111 472390233 623889125 387501730 207665137 879183961 698367310 219111836 171461075 144226144 279746553 318430012 768698189 186786574 662172971 434940036 923247594 374549448 644851361 506648528 965708235 890277126 595126203 653319885 641570086 673089942 559994794 335096263 261650614 719966185 549722085 330242885 259567142 317755040 462924653 635421846 699870575 934473923 458974134 336747237 527138501 491522284 550380762 567429148 184855678 135976308 985797074 528307235 763482363 420355768 867671437 892215092 463263818 219663521 642831368 769044040 892115406 418546670 638552524 452262808 477467486 631530883 816279721 421759416 303557668 386157455 867584067 747976051 347772407 322505298 531218980 417769096 923391829 393319701 479033320 595345777 258315950 337626977 779237226 758302814 466690129 471617543 453670744 707117433 351019927 573954344 984685875 448350359 968307406 817747444 120737740 924888683 733546814 662712425 682258423 779542687 658666001 844955944 911000892 353845309 756543213 226506442 483710206 520284580 591308019 284736214 419209133 225608807 338246149 658580019 477759047 969862636 971260992 117533973 226059923 340831333 620983564 384278909 633348318 247842361 969480980 296682754 298143990 172121413 938216478 668277692 743977525 499305903 318693632 615270541 279598066 381258906 256605644 762277684 477046675 382471641 375770320 126986904 698464138 911456547 168563958 507187518 589380697 499088901 139447247 361457578 881857556 214584502 986735026 895985117 962211521 868319535 976282922 288731101 243176751 936309648 144054556 626120700 480784250 346395551 544155422 489502691 591265609 176526093 494594613 494855308 799144608 270101672 401728573 156968741 968575711 953986646 970154536 499067908 429214267 295925835 802572263 509405632 570572557 466700285 491152399 621442918 378321322 172215954 548425835 772217523 470853943 149563609 812016437 149976866 860818401 862583406 671895408 704062491 478711623 781355387 789215463 182492333 608826013 654106022 461201627 617593007 982553530 728467620 275667250 612222411 315654111 558533090 154485255 186741547 564498074 743475852 785616714 648486887 725394112 186819397 840823902 858667773 826093923 520670844 314595574 546957296 496198085 886629147 644259601 982500962 352584941 947456573 812866973 554540721 878456440 268612955 292268090 796855619 595585965 879880274 512558343 649237929 542701708 370610672 839310031 269702500 535115688 398897796 341566579 917656995 312643794 674037905 545538096 737400413 433549230 271809829 914222998 748913980 172844886 362274928 656695276 578767272 738706029 244505146 178144678 722957704 943391843 800158977 238627012 369060689 851390127 815579649 820035022 504469754 592876137 649013732 577096861 830797163 715602079 326230890 306496025 330990578 321629471 251094703 333524392 561780142 723576857 150279850 197073212 985798439 650614562 947540023 604022745 643226364 190036817 627072260 770616685 355881524 295392310 654588652 347516905 189699540 142447690 535661146 658087391 778572400 300953426 965530481 217544820 262922934 311735963 450323287 189143035 732394468 792819890 234682335 589168589 922903072 781345755 232640683 284037647 405060151 577996659 136987787 717520337 541855701 543693041 828594099 597720339 949979162 593287163 183118911 948304201 562286700 691671636 448884661 677137318 620446706 529270382 522415032 925220448 682501157 483432525 284807719 589498116 976901522 426682182 112433557 183056491 882768449 984075088 623245704 663704826 330256470 998480479 331961196 440289354 767629325 131711509 607444763 480450656 723049836 214924455 372501051 481801079 635893939 912292674 225549222 296048382 892169815 613710782 381575715 346898303 439321946 967993957 595313504 620047519 875364894 300791966 816168654 220503793 406078246 515162681 533245453 877444042 543221232 822992169 913625787 518218951 799250047 560570965 533495251 900355626 672377674 595754129 248576524 699334157 296423579 241853923 907181857 592731304 138483504 367204609 952074699 396430234 708411429 152781040 167558890 885005829 112561760 380261267 470857822 448352665 246113659 852675581 273262320 465105970 545052367 608342631 114308259 831536614 276478816 894418131 300060443 783060581 283635899 335034247 415286126 424358920 599443549 887725447 468751418 780951337 994363523 130442182 298736564 922435329 661471635 585643751 838365965 917483044 327942276 149220511 118644460 359786649 629660924 234631316 573104663 307090155 507635359 380817424 540561739 917970139 856588714 830758414 915939693 823131827 252431148 228178883 983838220 131226020 145913673 475847648 509329679 723819046 445168728 526903032 569282867 864075997 887464093 393712937 220736803 382301304 398055443 838245937 480627490 799924689 449876743 378034110 950004187 854598098 308641585 135204400 648012552 388751093 737266901 404162187 318466868 535126553 347841220 824216656 279897653 687113764 324359917 464847000 548431055 294773339 143549615 373236303 926524863 111813860 838060451 620995324 407327158 704675955 156456672 250459474 652966583 349679460 474798261 416337574 647734662 371251847 117177676 117673044 427993970 564219897 388353955 469365892 374890133 915586790 386664162 611919023 634770508 345166304 440480566 638970759 272105557 248333403 145536977 397104444 231683582 826754310 569559459 690181379 512200124 526912170 721500089 578065015 634538589 820936590 747618884 489764562 942455949 714921366 674903954 417391719 564917183 337124514 735964049 931344414 144269177 482122544 832633875 801696127 925166953 920829367 163527455 178388203 785840861 500486337 684434240 374683380 100266208 792440044 641840666 745622421 895677841 431227576 294114408 957164646 562955031 397773630 914602852 363365269 292624366 309189969 718913604 525069183 947342348 822497930 385261937 360509798 367963850 200903024 536543304 505966146 323675426 597054706 561770588 894387879 775825449 411505353 696491310 303561221 338467754 543157980 631941873 927581590 135842523 790689942 194934429 933895771 270181220 240502130 639633460 715058890 411985438 772476921 730277181 227226863 672644788 220230614 681797275 903478522 150935996 614848637 874241816 331465961 247487847 848307895 478349379 742318185 844751702 832965182 319134726 791391252 938206040 875399065 273346559 264811811 736388682 469531278 549256971 192082953 103383568 126537223 947674652 436215910 412450706 861961643 526276636 305450937 612342777 252604388 138488586 750974974 604942857 350641975 623189904 380953895 508424900 865177386 663605922 817626016 263739861 857232676 363559912 789632033 638659485 826564329 314927776 396101990 374485130 832998133 851713594 542681846 396849385 661473248 496679886 871650869 981297456 543793707 324873668 569823206 282261010 206983959 842700855 126467044 881790012 977465470 682603925 212569611 553497188 392277861 878854299 949015916 270633963 905569603 369246325 834528327 641183009 952298802 207109343 408598251 993457020 274031793 115548686 987862552 374227878 902754868 864446750 863220833 590817421 275798820 895856365 434112697 919503195 569897470 529349598 824222749 274262262 896259221 597682870 172558834 649909574 665302404 168249280 769729441 581215238 214054772 335739664 190190390 619593521 919569463 611208887 944978238 998419404 576998480 867937330 614283707 860362227 404978080 776755970 945626854 616980736 835426288 872979607 155064974 559172754 970553763 726760222 670880921 690463965 738370926 401884782 114299516 625971732 973363153 642397364 930807718 839726492 908113231 595817957 708503170 989719385 176211927 554200223 151488363 800810886 744718948 175202906 793230530 695973680 410610570 427553629 490838160 971870502 171433023 577570486 286637183 716028729 406758866 164274830 970818735 308629811 416730737 400819799 387633540 159932636 536654542 366903000 588294653 464687728 395050484 772087903 553654152 966703791 478511130 477968672 754096146 438464494 538991357 159091522 753408663 273454609 690187948 983029707 662706735 849134300 339618242 551248444 781680709 898813129 265126449 933935937 521979125 997208435 963759284 181952635 502461027 792651088 909604015 114957647 264171556 485048635 509488507 594342279 731818877 393744171 581327734 213101203 456926596 732961260 654539274 299104268 109322251 647722469 948204285 145237929 806059142 467309897 131998948 832612280 265580829 208906314 145514408 871826656 377162162 230891418 843383933 325283188 954126729 518331563 659638325 614798603 824221169 894867064 354370322 742582681 115616728 648996429 245099084 926939195 948261403 905017786 213691782 175137743 980564728 320483194 524149755 501119300 878425744 201658539 473009193 678692322 795676852 457785699 873824931 572836031 153617208 542894002 196634535 776572873 464128986 911189795 747825736 229839289 231651381 942265779 401029572 513179487 463381626 429845693 293014857 920253930 174161184 744659762 286174239 941898252 431088026 612680224 651482770 134592299 736754859 377889799 958014744 147495867 500022202 495949443 536157097 742429712 685848263 906858202 937835336 725074457 940008844 299089651 998025795 455728934 287352618 691798674 372834452 568928161 103328719 263640702 519220562 632660003 915748319 910685677 946558582 710700935 860575307 632834055 585832015 606975222 668415738 340049549 260680827 675268045 189509334 917932056 258279341 399171157 242140185 138357533 312167488 780688040 653288822 524334609 568569180 984182175 989280501 263806667 680935132 307110577 930693388 580275123 345167472 685034086 136939414 519868107 912982356 155282777 579764863 742978648 141460067 369802615 428688697 578370717 761870279 126840147 518340045 437725025 631196538 333803221 998320603 502412564 113194365 642728539 678782307 554534437 665975621 920995299 256888865 529734682 721803259 728157630 421744788 226474742 451876603 637633104 960525585 617701074 365539910 600158968 654527608 911830801 374897288 445696508 744226876 490925984 234502757 608568347 867478663 435678106 759699976 540763049 505062113 509890878 666413341 606551685 603177465 399582201 973617559 575865116 248249918 715056029 360750935 942115494 272810550 970952727 771966489 696458319 900734738 532721770 392312329 699747845 571851803 126469826 538082953 610914538 124557093 436292682 748769258 492315932 451242454 871149763 795245346 808761961 922862422 844848682 612278365 472655235 616674571 704668301 963159875 100885436 503415518 525988191 166977373 121384383 483268335 423280624 411402862 370647270 221181858 138771890 255430688 839070862 192506062 759501985 235633045 739789657 540028666 627402602 729172757 333452156 645699800 496036229 635655525 875884503 721543644 187296870 676931823 262544663 256449481 793246739 844080621 669951120 504276179 898160481 213011721 357162506 639515514 784033232 755521485 894662216 236786159 311597555 541412461 731528466 240663098 508181893 913659243 415196321 127455831 379900406 477119035 592079963 351867582 512788389 471616792 654294229 379177761 153263082 161839202 200769472 994782782 369388347 592586554 891265288 736473803 522127267 131891405 826978164 942950331 936971530 561684639 916704052 374376388 228340449 636087633 466097007 270081458 232583265 280183728 522214221 760279338 710299921 287246774 682855105 988431501 155366898 162697970 213250805 941252191 814525901 974985519 417968948 994168071 996325418 330227054 115836561 710855737 421505650 742871569 524346151 943542437 124700488 607566485 426382356 748718199 460192429 902476338 487251966 980893667 564075182 659078615 712474364 331799843 760282068 665811388 317924092 461178733 870144418 149720746 272793821 658377012 914993266 584455297 586788365 431118955 469811229 157016646 957297171 522732487 956079660 185817551 570491169 122070780 492004820 146579733 935718916 802162901 557891606 376671528 974738806 114082856 453907644 618267987 580346992 876492314 635561716 821402681 859021507 537865607 730609798 439364328 362322581 271439808 930770408 164000888 859804308 364796073 190429414 224289968 583400707 668648466 835516292 520925058 192474574 885710663 666611548 877117570 379653370 865127810 753339301 835202312 352589382 243456767 149213395 596502928 136626852 993473664 691027014 345722042 977130090 576939696 527510004 176578870 913930509 336869791 414456318 640764021 680626727 825989394 486931178 258485116 383135464 528525054 993376526 803024910 824780320 750299064 397044159 568133472 194014888 991161182 685806697 430873504 326630271 986425059 936111883 300164746 128912428 227582913 198699424 841529910 859965288 329948719 104887692 304375992 781449514 540885824 284205374 475346838 814513363 805848640 308747548 148370503 195352510 328551454 626920117 176243072 756519215 859129013 526451111 795010901 365628664 504979465 437955019 100041241 475646547 696322709 863006304 432794530 104023231 645176772 803779875 749543072 120105694 435759915 566945279 588570138 137991374 777088487 127412744 844834475 397355789 174335609 741539378 557937056 137196749 401994362 838066353 852988715 831812312 576482893 533913294 162488103 311013818 880548416 710988873 637611140 729977496 896072685 702715330 406168768 461706633 427553401 540280850 737223526 861767037 852815785 908600918 695798568 574511866 951745752 456825242 277122822 543131142 693015073 486567690 821035476 706745723 496280130 216215033 560942172 291513563 719246747 272594688 754046532 840484967 112803998 643577448 794597883 968538828 413148690 468736607 157108460 848875430 765775764 914236940 184588384 233123925 821954662 548718669 845427116 764401379 220773974 826947168 903295964 964171809 726096703 897899040 731759911 673834029 661722496 426601949 681332445 909370554 697262485 278575384 878097830 501172262 461607605 984253335 481041448 978013795 868292856 719264158 932942306 272227276 438647868 598757201 885818670 543482986 444409724 957156295 219667793 858119404 105438386 258053562 436145248 951075931 154051699 292797837 721609407 140429602 115588562 443796349 764903188 897592977 294642531 730236138 624782649 365183438 731154689 795684500 884523253 219230251 567040844 897889192 587359254 979240867 788410849 351361602 409079949 447380260 891126499 562859315 846883358 240097413 230060322 161082069 845055242 500387488 978419449 278140061 615845180 571791866 695525509 785799686 787666015 731046592 100782856 983878954 838845701 980311588 151259286 215383665 995114572 815444966 932630853 485289571 556632000 461178828 779037276 666394036 487239991 753590270 627680270 828204036 465684295 702793623 164183305 579498829 800020082 575102199 673784460 206826194 819891758 259979356 957375629 532095559 324980798 699740101 370721060 892777909 381871548 720690054 694269806 180560009 275144987 954775363 364577949 434072191 569741934 621263976 139829616 934998108 240182243 839868567 489467693 744549012 253877180 844306436 190825927 495162578 727878485 593942664 236020673 686441776 809443312 989034277 777827060 143376570 384046797 129466292 580586707 876925633 250149264 636297650 582342819 379489362 713144507 260631185 402605049 659244213 533941825 738900439 516204664 653338845 673211225 963540190 654296264 305951328 337129798 214887970 817249121 682256806 264915622 316723037 571875039 779861663 682738906 202042938 531649099 986905167 998939509 939770518 203506439 304100656 117503620 221366699 123386614 900426387 939355279 321687479 296108395 854127163 672045160 522025550 805604272 711671670 876857484 323061116 421882399 380280757 951668567 725448656 720001724 591022172 184381777 858438317 620047431 125079059 592133060 504680617 204857242 104012042 415806569 335121817 262676623 808039614 566733346 189977020 531055436 617477500 272362806 508436349 320693817 718712160 435430565 508461293 249367164 300186417 285847044 541164982 100336487 598760400 560730880 653360194 654108361 639295308 178187403 813688125 791173371 645947253 426639302 927588693 461434188 724565851 635576672 302793670 266557898 296292155 707251338 831644027 751076506 515452575 955464738 982203381 222927557 697328861 935949039 711332126 505869491 817104088 621446232 782986892 624819566 533316109 327677353 261374966 764365939 219924877 965017182 109647257 105204627 320057543 304342136 422231768 356943767 630165123 479750863 644368843 151156173 575704053 262708443 210873700 372281914 635825595 678964261 435759881 180265547 910132040 588021555 694050328 216407370 793925460 946600963 434149995 843302135 751614401 473908395 243063936 286843804 431746320 393358469 845138703 731741345 137153038 629328157 713514162 186601013 571362497 758723897 269313668 722151248 846753375 696420898 687549166 869236331 224848540 345532582 653115278 542672887 356168315 147480363 156821212 326763165 824008077 543959422 631709226 237875865 900270313 660938800 974210494 155873759 852971515 409703091 338920882 446817236 320509646 409710445 338321016 174071953 678151871 970526294 131166201 640193991 411557782 210960878 205217685 283422034 721774563 980535553 996249460 794930806 247716737 685065406 542650458 511246970 275471256 508141684 518177412 444261474 743961467 843631012 418336084 457079863 909393332 246405601 996778220 102701733 271731644 654095132 541527803 792478767 929520565 141227646 369957684 370822185 628298433 269753793 450635834 328636820 286015310 174510789 847052534 481533996 553966582 854358802 424198718 215219447 392608675 673462722 873294733 111103905 656323660 588701237 266880951 649161800 482178526 278716592 771775157 286586544 572827565 973305103 178863577 904252905 772001044 696514279 649126936 743014779 737079923 355958276 974630434 188102879 928003456 247751032 720423274 232189221 386133923 819161161 705958800 637247626 389011951 691830141 468781060 484977480 701803769 550461230 214506077 285104414 560247943 371930393 449099876 919857816 938316660 104764618 224609924 442327468 852891046 201366315 279013543 794002954 374020462 407959041 457402671 992323471 870475920 521874452 743061849 373193915 748926647 305879047 610284551 945261633 251737741 837958674 439264027 635555187 908325867 181160340 873661487 909900601 705053216 737592652 249057163 134258502 264976852 464622174 874392148 242956766 626362214 501788490 249465775 522065439 667264961 832226266 440657007 375104417 273477959 771964907 135923128 566830360 526387258 239863649 471880306 399797891 672414800 912880342 171534089 738335632 367274115 236574157 899489044 990346353 789338744 111293183 992507526 662198179 373159550 115151301 395140739 692405969 754483115 237699658 990940411 481361894 102228019 625190217 801490809 672744166 276341287 577662015 636025602 540596927 915604751 859016471 424932839 495768288 788164567 182109726 147177702 180407735 988405728 128985907 216457026 485599261 249574787 233310856 599553578 933495135 383979331 100572741 307025501 262902015 133907597 821893415 967952061 523038785 330050117 471728744 403828374 835487136 399004513 910502934 742473161 183586066 650064556 822209933 641415286 456610178 193779946 284536233 838444486 425701869 557571338 197518703 912617774 936263005 258369009 373701672 955804889 666412423 576175775 725346393 292230127 446126499 892591338 173507329 160752717 610642492 108780123 484140884 636632707 110789931 484340662 567636124 777422623 533453029 703191600 730303471 219421656 533793042 688881166 843524467 456639340 320028317 645507863 811471464 951870373 230738860 754490546 210565970 880796056 345471674 179980666 743075090 163367590 625221261 795999964 165163298 226583972 906968462 267263342 847131285 624728471 474556125 377068590 468779649 471640948 413881253 888438065 934115238 241950995 256400340 563628958 784669351 488323339 800519727 316334852 979432934 865940112 601621093 173019028 955962231 947754614 388428670 858739108 733217154 609484533 155953336 731382498 548272724 158848050 460381127 299405625 512215668 673947840 364424779 175320198 293864579 264631368 578534898 465481474 599629510 656379033 220221350 902165434 399224436 338323738 526182516 232417706 296432081 122449849 961026496 881127596 901600343 888073795 912819184 300875359 887711986 668306808 502665866 994198046 899450629 653841627 642439033 225406393 723300655 439690920 262534876 121994946 927288525 400605424 176442288 979947381 183117116 127383909 136130469 957436120 553371006 266661102 153689753 645487707 234401182 121106463 293536453 405576891 128831555 453719790 115754483 539120599 136916634 658725136 260530436 765455171 790388979 731145090 571821411 311158859 987505073 214710961 289278409 889277834 686596687 228259687 185057308 718355144 260565502 251718848 415249403 765145142 275230528 800537335 261697292 655385132 796359777 238986351 926827508 227787510 228828805 317398039 971489155 147860869 217580453 166559376 428727794 995384072 917970117 167782422 294215819 669772155 118116095 736833380 626775365 981583860 562528406 542114239 783053240 275005019 604001713 816198024 489884735 618128375 149861358 845749862 564243306 508490190 586298028 916207569 815274238 957454106 631504940 427649587 979817789 963567397 935257817 884831413 823737850 393595886 920260190 557392238 365910987 954328108 762394373 510866866 973845052 134824727 958489866 360157708 170564219 825153406 222988723 729468717 650641222 212882554 502718389 124192603 961053685 949532066 744332911 576778026 568694136 715973022 659818944 297749396 878292041 844537895 986916336 454162987 939799940 489869516 229131098 995917306 492220233 575604558 717465263 610087140 828393686 548823332 743420575 992726975 983443305 265910667 881936333 418778952 650637217 139108617 928398811 821324848 176454512 594030582 370570955 188754679 692934301 516668505 756415969 700338143 339564002 757200989 259781098 476305650 746655815 973534955 566849323 184590061 562227115 953744749 392527191 211344823 533522853 373383683 828119051 898818816 522466282 713100028 800986416 866809797 618180657 545922757 212883529 102815149 779131818 353739147 677640755 490850668 594655328 393963606 166927250 488894466 251029315 769983412 917134531 467358526 332157258 857014628 631271809 966021284 505061494 155385234 523262997 178696554 450201090 168623461 499458363 571270291 184589221 356804625 848886511 720409775 149815998 104334852 340904911 312686696 986918153 295567684 122243447 219643737 547807783 688988496 492222581 176066078 534956409 698527034 240176823 256128083 901211633 645752375 533522190 395365336 206415711 296101258 606883890 121021380 409508114 260021966 160657132 253911788 587147006 643954002 232983930 806193264 409005147 481568729 814779511 586131055 581869032 880921143 858610437 227697353 725580485 874921225 158191484 391573532 900687880 829026082 552984394 677302794 480782856 994443886 175399447 113638648 237656255 734895306 357628189 114433640 556312708 131326600 353151467 185660015 274296740 986199100 908023199 719448846 250196374 523322016 472567460 589539221 329798242 438617486 222282317 894468435 793243078 191820051 719847305 871055641 656605666 451377893 365096550 104315623 872716840 332774374 387879854 151458902 136761574 129347244 174002390 751690671 837194809 420688220 977838192 981993188 910571140 153290402 128910348 976491194 278346637 897441260 956506056 713112479 337993635 250723143 659506123 398685203 832307092 164176981 720693566 521284148 608829368 893832745 274064925 213425518 603310615 677457699 273224621 189543574 764498650 377398120 601590798 197977922 181630543 489130306 215367389 571356288 780011038 447303360 785122796 602942682 435383854 621548225 792110036 446571297 236392123 320410856 466922431 860276892 353948243 475285533 429025159 158610002 787176479 132837793 187083580 234055697 453252417 537017479 121771609 675269055 934961664 625205060 586401030 174442554 577193873 158946832 912560939 290908659 473483508 207983304 907353536 608494294 398510996 831152316 218522196 817509463 794961744 364030395 435235011 404964362 682833765 467041121 893365064 157976830 547690856 263741584 804510670 122114829 618458786 133165399 353693577 154076006 983814838 746154878 510509255 158923532 795309775 328291543 312743043 867497406 752513350 329610231 616570249 266224889 896515213 166566312 458750811 620982874 244412091 513469133 916062322 897326966 309326473 161504563 417924134 110672322 900182348 357556399 467110980 807303475 815577341 151325597 338444920 138356423 644951202 838204676 520591547 764425083 265253331 350663218 280142238 893723043 625432726 988852235 689671592 763024288 572017234 942920154 884522971 719081903 127325447 913604872 936513974 852688383 259317046 970795312 756819594 205915645 997558491 609154239 987249662 822997608 970365111 566219948 943930310 184602259 802811589 700240416 389558402 761180182 816203592 425057637 870932491 334425841 418523553 515887010 307343750 973054103 776447110 138656067 511658117 206574871 819593440 258792312 992408333 812723344 245701850 858611856 637583716 209565385 194386116 903368355 803921985 655833259 290617371 476568093 828033369 106483791 228332837 880193508 569523397 784217194 581510974 694480612 596416971 841488624 696735283 499746783 571246373 847706262 477238588 679537407 629719857 552366107 374237276 501583856 321384751 816355572 903712492 884627681 620879592 519340857 683895115 934472883 464246734 209438583 932037456 229847004 447451585 191533696 608480920 862191030 852611979 712784009 125204110 686875932 462248883 860018336 227139554 685052241 470520054 747599616 114920859 553831854 784569555 516292229 308718509 571363429 258514525 641615438 325294674 350087823 248447121 714813696 327070017 237404812 257638894 636820037 650685356 392668863 156635381 396372765 229771730 520907576 149542565 787154376 115612103 516670257 402145219 757421237 818953089 333542979 998146554 453871850 874158772 623440025 982028885 399819890 342900829 227258596 329194562 185400762 411536716 694909597 286518092 913454894 517571822 131680929 133734555 304920176 679262355 388360555 327037843 599071830 667569965 654081928 497730559 579189178 242254846 316084535 410971815 446261997 412604779 296374132 418658830 167602154 659074042 860833524 756914686 738504256 858919104 246129246 395419155 841111816 269818603 678956999 798199489 393085162 259676763 108428473 157043847 812731422 890450769 982789080 741048512 112230127 584303770 294229539 717737763 529345657 755716215 295968331 784592881 356399698 780599980 754789743 151550492 593185077 662805570 329161571 813454996 501910759 949555983 296059428 954155251 624432735 292229771 118300045 426424000 321932698 389006826 325454895 688920643 794912977 269268933 334760979 572882803 744576916 560604691 107786978 819098204 348538015 693397250 454602728 363847190 936092071 319342110 621789923 216854148 174184715 765616518 660653285 458745555 893761313 911061705 458848762 266515243 114911832 449586813 297134315 673267400 910176735 733369542 661327744 163072558 261237985 585373301 117525601 198716995 326116103 785834579 332060023 553636198 366037774 777226323 967627845 241823688 324957231 335625054 316930121 529065167 379086252 290559047 603773540 614449481 673987756 344235479 818951806 111564101 426410655 783048026 951989697 368626655 367923367 538593263 232952940 290416015 542096133 413085490 858283384 521868450 117399929 512809694 521663323 860827612 681733526 859892547 551102459 252028986 677110109 120978956 853715880 405490215 554149629 901553971 357433940 775389882 883315370 284098268 478658565 123279388 895503195 741945595 919427268 731263202 248961879 375863903 609320938 369887257 865547452 490874446 590711093 873591413 107509202 458043633 175331025 930457107 658599443 166747260 182453511 147744905 831845987 750605720 218609082 109395036 462242688 679213757 936001316 474053799 442807808 160263604 514836757 728811368 676362255 274574418 213635946 687503364 531249084 145051691 209303564 372717682 867523903 964268841 335180676 247496928 933841287 930482162 417657456 768082806 195534744 138207286 684015960 201840787 186000955 768992776 249083531 316888767 907876280 870873285 760869346 526741714 942395930 779691979 947615381 252115421 631913182 543615266 162816776 344724735 789758841 539031718 798400690 766064797 647549786 304251839 995475810 776010827 992433948 531019904 221700754 774371060 470885536 878967314 291377000 749699516 827405637 297334610 377429668 431732189 290309802 155521708 890964329 158912892 151690701 209193346 238214376 440245379 754233174 244365337 373305455 133219291 304784960 581513429 412050020 790675451 469703632 685851358 518054185 231044573 555475150 798611499 105372799 424556165 461127034 926015594 648461243 571554015 280879541 488501392 308782715 839501605 359608286 470249055 168950359 380428075 278665176 273629039 720775222 173121715 661940280 807817808 824070940 875095947 535239616 613869683 241582112 214363636 212857008 773162594 134884171 779119860 822714301 533848766 787791901 169807328 564980807 745518384 646028082 236615831 367674059 929078387 186260787 896030991 848414543 381735328 772314838 781801631 747095176 936512911 528530108 430158605 169063062 484389666 144733545 876919657 518093391 725555852 836950434 727149540 622412393 432862476 541734862 401444058 255971524 264476461 111661990 807825527 496107729 673671253 897828593 167558991 554221327 636597103 738347895 584607730 840826183 472740207 153715206 940089402 672340236 622273726 809708682 217507927 458745954 849656280 408960479 864488075 487317467 489786072 164768328 518321491 352854244 916854512 623160094 704843502 818205304 153045594 800351555 731882531 943656740 225649788 994927260 713741767 463805677 660372152 115737159 516857864 246807119 195839002 706436349 682566914 899248857 323921214 873865492 832308641 549840724 240883496 239226875 834760091 214034231 314908897 695591544 754575523 663578700 845614412 755602647 391062958 769239983 995003116 871409959 323449962 512253027 403886968 995853936 892006887 911416930 924852499 850358620 487286801 138490643 181944547 840415187 437562200 159288519 213341675 857809047 396166056 784130573 998340574 204839774 418173721 596842606 626203660 382435430 434568814 424314323 271053506 402908231 742086472 900150097 125142679 657214865 576102202 306230434 191476847 337111088 893652366 347618942 528180126 837965729 198502389 218355671 212272626 461970476 628025493 696107315 329559436 367622780 199619771 812703036 610794629 135240048 872837162 724000851 119534314 652740781 114354471 208197282 887306110 369828841 349524570 791480723 278564009 721520416 246681221 566066832 844627572 757451662 262838364 619292687 496332937 380862468 374668229 638530327 263716851 522008834 596749609 444696162 941360394 807840628 481743054 526988550 712632256 209862318 859567123 800981702 458692810 543874843 708055074 363066210 720058524 222727716 949635454 770794507 411396065 562728326 389991145 779780915 980206634 418801129 367880157 556243636 608470981 423194617 461213798 521296130 780365191 610403771 242955827 552743450 941788735 242019432 490534624 621072888 401014456 782328028 793540022 447534737 551938297 179173304 791964067 583680306 954335889 111307053 908798229 829427785 997434259 518791268 273209589 783689729 345308527 925153252 630054146 784173293 480926209 991398675 818883168 494215936 283296491 331366114 911082757 622944281 513048675 391269376 682998271 420080695 128037607 615250336 138258594 985706072 341930100 991851363 391323736 997286604 892809210 150154363 595763907 465765200 276028012 500707643 330685629 302898646 859533066 972208486 859589805 614041091 748734221 831771323 729204070 583196390 675369742 308714177 253361484 411092925 251646322 152663358 953437026 448623698 136816671 704022920 480088435 269474670 224529444 902570241 709141253 176548633 983232810 490447868 650927453 576760236 361438425 654031945 187690323 782704041 408514019 997569055 416672794 680648359 439531167 571874908 379673746 746413311 489380899 773964629 459691833 259529202 579411520 234520916 635810973 588277431 168771717 439919772 471071801 348334726 257760202 280954894 501044497 242589493 432560043 603503709 108080137 781805224 767141672 358620476 688050286 350317165 679962159 409520294 768393469 342791873 389588226 738702300 214971297 315423034 280131720 593734349 199260953 623049512 129481104 396150994 883184234 989843920 717985235 433157762 294501801 148084785 393331055 764624763 185824004 663925463 639762851 148174871 923070519 361547102 981859068 706065556 663264644 350196467 965457457 404274952 543891559 229635046 995676315 122836894 784536881 248115572 484553359 615568776 615916854 399321349 387965896 615709798 875187542 702112059 956618644 587963209 676813707 948782019 368219929 877695286 867584013 900219629 897980710 705174371 261054069 667485031 579865412 891654017 776062468 116662607 451824485 882688264 356801949 283124003 282952174 490759034 796062251 833771267 250583548 296169488 865956841 107499109 239223391 897369631 303977837 294634603 594751205 768273803 458918094 727171038 811758844 792448006 509852895 320620098 894389409 992523070 944459267 875435381 841587197 716238721 620819046 741705222 998487307 244716392 858497999 496948374 974675726 903262743 539485806 418472719 735695140 597899037 281303946 974824128 474950819 782991228 294143947 664356861 871670635 500723231 277447004 738046858 313157864 692023401 786029098 167617035 583256818 222004550 617828190 840872616 451190502 516978821 604065777 453079542 992091391 845567454 219449927 883017850 359369921 501495536 377712943 539631466 701647386 869812792 712300643 785393627 966999063 325543529 572365492 715377494 364936041 399255708 436912809 228865141 546065772 714238341 677552048 242108129 722243181 285142917 362831842 969493263 552757575 520740933 697511737 320473467 594388481 455756717 864615492 434860281 377537587 866363061 836008884 890558514 424282457 819726466 254131785 903192280 515624317 428317240 773799828 698527984 890630883 906892374 556451650 823383355 483766072 432508403 129730203 637785614 895479197 159635353 232842444 163594443 649077276 584877375 944542833 697172662 884038579 409847235 696262606 902961098 711706627 834415752 835834702 625520992 482041460 517656983 788415770 837960131 314891617 381913085 913642316 855078750 229003934 913312261 399719776 477358410 277617557 333414379 170868519 668364769 251068874 246904190 293561179 875261525 993499512 321633643 690834340 601790324 265336206 747477280 141426273 345817798 709201545 855396746 929983429 283602126 326979182 390874852 588670910 974359936 726538933 338334932 572933539 585411791 256165684 690859749 277822508 168046252 491555434 839787627 739380148 709857652 101559599 946709204 926568518 978636426 506102008 404002472 726428426 883194462 179843574 116080360 273905491 517622974 245822552 908056474 266961727 703097077 752046205 877644687 215087697 275074893 386468093 133606152 551191293 264010460 984478024 889240188 616063557 883925904 298107178 509709461 821564836 473445381 180949086 263777188 792837310 365367789 121829743 212961788 928789780 129025223 940629784 861037189 689638243 612007902 684671779 501515054 215334348 831001020 682960723 353299549 973398749 512730505 242554190 362311633 914234323 631815748 675222876 819199409 492928670 570107230 450400822 580076737 743042775 988839260 340472134 659429416 535080557 397574184 641863258 481411746 292816874 130173290 575724267 531150210 973688000 720632383 509187231 431787455 597460662 780044338 783474134 288287959 817438283 160549203 797191197 976530497 819649920 710390327 412740942 308060739 699801390 540464016 642126122 743092729 755757017 549334490 993541310 619528932 854084436 211358835 794578017 657613873 659248361 415286463 379033508 427708176 229077158 257523731 282417894 224233270 979713218 465721927 639178283 173422505 542137976 901010024 809046679 624323428 558759230 693548607 991487907 121011171 606734267 462200333 168751186 672833223 272046678 665978626 603845970 730168488 436668501 403521894 912901993 821210038 320613846 347445164 861105378 959184701 202686145 935142426 206324304 460988703 593493831 662125832 278972257 298506577 960473997 706842088 273214057 772725870 227927609 127771716 912681692 457348930 640017258 959120752 198652141 895125297 143862133 180527668 517473015 204807784 666045118 316047398 107618636 444006583 636022073 460947215 195838878 226357509 870693832 419743071 258267790 259094192 341276506 931663652 809268771 555074466 417042583 533006752 690770222 519070954 179392788 673990708 640713520 231059078 157188625 721709656 716576599 336998764 896111983 668461708 174268092 632142836 407616636 938362558 735484764 367211516 948801125 464218608 251843874 260706320 473394363 700029661 932835235 248702379 970328296 172305656 335111554 656105488 174246780 267045949 300502059 427977757 155345419 487652135 441680858 327525656 940150366 339494644 283882177 592635317 550069555 544530631 918622954 656324820 506891719 211229318 244992305 823060036 175674168 102587549 386822896 419248107 890544729 584779062 759300546 915527879 156343191 387260088 770321272 148103266 310047649 310649520 562037676 339919718 751577177 612598873 582814667 128675424 514747246 423945776 576141545 879853521 860926864 413064989 346514515 680261294 664014542 760302966 695638999 679100961 210880932 471610048 714985562 408563084 637022985 997108706 614078893 294602259 600747137 555105629 928766052 631159259 178161740 851658916 864687564 826065535 561599287 718972663 240367199 403815900 501242878 201680366 819419946 530495273 942026836 573172302 765893071 426430442 729402929 584997628 952537331 161024809 848626177 335652648 251829525 818411743 331241754 535247098 885760752 422340349 249211484 890504354 462425465 933425397 177095950 650694665 771040392 747623558 111673765 206334626 819242142 710341793 809461452 739263594 982136979 686346744 983012659 446162580 870885744 571581105 125949616 853263097 673111293 206189922 833321282 109120408 564455919 377159648 479538476 625714118 640370398 119126724 817674356 361252592 686786955 412626161 525892006 450013063 247137568 779660713 885904181 405136295 743783438 509010347 423389695 448058106 216726231 667914095 201978078 271405443 212976348 608372752 920223079 593105364 811421341 713614938 448383147 682350534 645443490 149339788 335249724 231009920 796814771 702223414 265110824 845540563 909947460 932809421 416860648 949619329 804866468 408053541 863168252 734950004 416564035 237106553 376215210 449358355 654251570 435043403 422529349 626821568 876788237 620309747 595821600 359544875 605210547 588642053 701677302 784987709 465164895 336820639 532801796 827986212 146398697 971011416 962193641 554385345 273556862 916634487 208003626 868829054 211654762 400979181 513591749 274064792 636339101 952811674 926664885 328464220 518525556 323499276 586776920 295269798 272642179 822901084 374973249 498972665 172541831 337021321 413590581 376676207 275408193 860444665 854095938 603890343 432580233 110658706 954724223 844699205 659411094 226052589 141245153 939103518 808426338 359746304 697874446 809230770 346697289 482379186 981814779 362585534 565293875 932372340 573107959 642399234 468802074 426151552 511294556 416834851 590258592 425120929 276861794 830915455 176065035 660846979 773013749 877375940 172764076 448268572 758282650 939444368 856384852 455582841 505383887 215588817 845185400 342990868 105927050 731244283 962599482 590869411 316067887 753582316 638239439 828460746 350265428 220642983 328323628 623393538 298947381 440885700 841397915 796896847 507047755 261429994 152124386 135525709 653300707 817432350 377592343 697258179 752303800 136394875 724385353 940633426 262111606 367196662 226613109 751632951 982285915 506347644 503106196 387861230 415996228 662104560 174040926 351530306 336208000 999775030 630032093 547642411 199523486 153194266 808821397 901529172 409764348 705675650 629846404 335354172 889940225 211690495 143367456 175900261 328984073 937630542 617470568 996798177 283352756 765357651 859995304 445285275 960820332 851710896 160932517 771022317 990832575 799621907 786671772 330662775 353713665 736401248 854971803 907624061 967125257 776282812 530692912 877817838 122190202 979826352 914958720 211367258 505036326 870980436 728604078 124537299 161745093 470642414 576519330 161926831 839299649 778685876 889927981 320275973 682360008 472705646 840657109 824133118 382809808 316443330 638754276 593822458 589267077 940570966 762815758 418994179 318965260 105482846 188350499 102398688 999335529 865034814 946075799 241541922 796598095 968544031 885987432 928052844 919637701 503554332 548043095 434318536 673358654 325677518 807185915 404723721 823266593 240288190 572368960 988475660 634636479 144145955 567699655 625291891 102919887 884426577 742637318 520961189 723693483 222614774 807150563 448903586 139621942 813572175 258507658 117019507 361586737 912494885 997937331 982309719 114948589 835583247 791981608 711616130 304934121 866720429 296148582 612500027 204475632 924443198 507713369 340000455 464911963 753703267 839209502 144216471 553850493 329656499 978904963 826533298 513882570 270983285 164021705 588127586 980490485 693624449 163668499 314729002 545803110 576866965 542592905 325861040 317155405 412987009 848608181 779021961 122549185 421491699 770833169 827889546 722445782 517686932 517614841 245966587 422881578 996810857 268832028 529466200 778404102 301642070 339007471 544900369 911862223 123313731 482173153 838326188 608057594 750065727 629086611 471166262 189443294 362008270 365431317 992116011 166030656 177361660 702510887 995864227 803307206 622983765 289746560 959901767 532211488 249106341 253820343 606807597 495572527 965915995 840539335 219136871 816478198 164959386 408703032 452637535 923652989 195906126 979359147 616058996 396914436 991517145 462917775 645678080 799494640 301668460 981307175 315061677 918170749 488523289 602579441 791600027 826592296 417426169 829901831 456024515 175577687 448196009 669507555 507012621 177674564 378559565 623223508 297805175 956611847 401455847 262545447 623874296 108238306 700270830 368723147 360597195 134154772 403824862 623802022 396619093 817700372 833807351 677891511 370914413 879504497 835575512 279112615 959315765 292328207 895902639 636971252 619305831 232074879 300361464 468008185 270887852 577572877 143264068 880411038 732084567 255337598 296166816 289617223 918497609 387699493 883648656 889685905 532816109 964556400 696031631 692557098 809334837 683715940 946464305 500612226 744782562 207254011 385780597 320367487 971511632 444394874 883758537 367105671 956610196 131606803 678559038 818034116 525880774 224359072 551186455 973140682 738475773 776135011 327036967 765158332 938310268 587494090 908187781 289008230 552744571 430532864 628226666 651013246 802586959 579013147 670653793 813830549 189317408 879950368 226272089 505590699 839099288 899302116 545851839 507994348 750755430 693760703 730242606 407782831 514527144 191716700 941279901 224732909 631365761 761487335 102788052 596879029 861354091 130290164 881747834 851230176 295381002 280461927 151658787 528570561 351054671 809441100 594459141 591263074 155697966 735925503 100482832 758305519 154727570 535956613 768649683 632750592 753337069 823455518 642331046 586152827 929857168 723960007 897705577 706291448 577260013 969080515 335164441 505828311 436850068 857216891 186677661 732538066 376713139 148594176 493946928 681006341 712339695 942895074 116392645 848065039 843419092 533235033 890568158 457588255 611069611 521204257 965030454 550818449 631252826 649426427 647083261 637805597 335129709 639339734 215820152 256006789 672672984 684947266 997757446 142061588 282291739 826382161 214925889 804722410 238642965 494780297 568647628 224966170 883970439 324451397 578472475 716880469 303735043 874531923 976719258 467017492 431328611 379017404 383167893 798611834 883210610 653622096 157695105 441757366 771697237 516546436 553844297 956970015 218518635 937257055 670709633 826073189 130713281 700795561 493687346 442126544 248203208 298275255 194115110 289329538 622619718 223375499 917249723 884608765 963081495 567815031 221487730 561398034 865492769 690524278 481064879 480006394 239334589 331399451 853971519 635649425 936100677 402322748 686407079 773952104 433202422 738077034 175578163 600419238 582039614 983317501 561977840 471086142 934433374 475056539 751117675 838809777 215103991 974146573 801568613 310717366 257917902 835002096 415203388 303759037 821190449 898397747 256017256 882967910 147826362 642576287 404726681 259967962 442191094 387452404 384930818 252074826 282920010 828560831 883884929 265391214 377895712 806860383 515308359 769221460 776705101 957633284 594010036 771062950 260748102 923914514 933194415 656221112 705444749 584323081 358297952 649292092 516130633 878267876 588502470 828907019 290871706 155801676 149249165 643647805 427694561 386077605 799470382 352863825 907469704 944769963 347772902 793032183 426967445 841895999 764407207 901358122 134287299 567796370 485841197 996096485 910985709 513060022 406605835 736497633 992702643 312281073 648608548 656375759 419849236 117121429 302288548 100198761 970476019 161203644 287881820 423478100 281454278 784999966 599185768 128482188 674611637 465140819 308206881 258503879 517417536 564148178 431047007 305999426 630741858 244099607 463406687 860919280 357582450 833443190 472115786 182840649 486448161 217133017 687761870 425016376 401466243 205571490 785814210 253482614 913202583 194978146 105749443 479306908 376361546 640374208 650251758 295390185 843486849 850416294 380962199 133622707 803087795 881028459 429275366 778165527 620341760 327429768 656809418 819987993 265202827 391210449 256505171 945674511 510984974 898572419 368028797 800184865 367978710 956690188 510035329 221946437 654007160 957895172 768720779 162786070 589187493 868894788 650948389 872900983 614293170 615827425 125766351 607335678 938423595 250957875 455383440 405843425 503865606 289214006 939064393 695535000 971699633 721228688 624142797 362243263 449553665 611821152 372949608 432666560 298821132 501310166 745221229 610873354 476277277 242542746 115038569 661192666 352164982 834451607 971210297 782452810 309933765 694708669 226806115 341272929 158817673 204365657 963000820 178438590 967474501 643777451 627430084 518644148 106308934 658755049 229439440 827350749 620960295 631733804 239751288 183600579 660474802 479316096 988417670 195242388 621656085 359243431 923740336 695628224 902667190 779550879 149312253 340798249 542792005 896407137 784000853 999939687 227977713 798267409 632861206 892202974 840769095 721495600 885717921 772380260 234884490 776379571 615574398 555191241 108507443 702206172 914229472 670580925 816690361 235395031 392686239 811722539 139698169 339237849 230249410 455746992 849860207 413173397 768648321 649560378 310652405 639530068 355902992 778727553 162461451 419411161 106433069 546243522 984890492 163676110 975224513 825177144 296743666 761930252 420031156 594280853 874229430 656465124 763941730 493529241 648856094 906398270 939933787 902116178 884596137 668011573 635982601 206818012 522480261 361223166 629980075 900865157 787535975 692100915 757107106 604259614 304934034 266019950 203357386 930573883 912970647 462859912 820609621 560071529 143666581 427497627 315209632 144720027 396686206 997499083 378832787 526539196 417373301 621398198 868150959 320800651 840775949 596166385 126219420 600869237 299431628 971761994 951101113 383198262 157227801 927315337 338856519 979456083 892993939 680784723 806231107 193029723 999566669 519996855 973648319 178521572 480250209 796579529 288349407 424654591 831418173 367195065 827443990 552612090 777440772 658028169 873334813 427395694 479289778 199911561 262233937 350798833 903307126 181381970 918128720 424544623 899805927 882625558 316621221 142038343 619610385 541092937 985078453 900954339 458095027 263091473 731813731 185548968 591262715 190696636 909683192 122839267 416066646 670960483 111041589 216818964 958183301 244817536 930591590 328707767 513679653 202826276 791476276 205464611 980586880 971592870 874376723 490180691 779525151 710114255 490239903 765403284 506156245 643273771 680133539 359643617 647888174 566018316 298897843 568321852 801402157 583963301 764687998 422836208 106490856 617766997 765946315 674554944 409081319 982330009 695610428 840375489 228829086 767650203 789305316 605144401 170344674 672424449 367340681 158764743 357235678 614622353 890902467 682203150 952430640 666737966 588328187 384545955 945869810 816391729 138473804 759586685 497169230 552473277 913276259 491256357 414839184 800581004 802114635 283061649 310121382 712547912 829596286 844360988 268225533 604948639 589650432 637320361 300370568 880830365 136745016 640986217 655381584 324702640 196608763 691876605 176741074 931158134 643796360 187133285 405939439 194424296 424900211 914349802 499867349 285854371 296157216 694547592 700998517 254260132 592371055 378021071 939182357 162419569 141930547 508709654 206626497 405990506 410919830 461117382 895789517 442535621 815884426 337902870 649939215 243468009 690419071 391916322 113598098 395909617 386886163 651307980 313548665 502436306 622673186 692237567 217699084 166124187 989721569 284957897 735202295 184454085 727190578 242946290 309250816 284249872 920486049 545390890 911332718 465685879 519613057 674255884 897216181 672818174 110331825 627393008 897809011 203720710 733273481 376537181 406502213 238107864 883822882 653499263 588900219 376288132 958387220 923386277 629181064 226916834 680205757 906055530 403375429 241702332 506685512 913693410 765277248 968602517 744019374 214233497 367559047 201191579 799567495 111223603 647762809 407334395 551984535 196126539 112830059 566095819 774570316 655123925 165726262 418776558 178245173 986642678 645830730 232742340 440797817 173326503 534137337 917966785 734123628 116298832 442201123 899658460 245410244 117628596 115632500 248635882 414486734 153602037 242462159 552340186 177265417 192752581 371613995 591878703 441717535 947350603 412576517 505112978 707886538 801675337 376227899 578682761 296595703 431052490 102320661 181622299 390519813 622868051 723119223 851615137 339856787 327507172 614296972 874831641 252658616 511467610 932794145 971917880 751960454 379648912 805828116 775808321 276331767 788689933 826531826 551061671 827490131 212280888 563350184 268637589 901759061 491104544 660814083 137832650 393798906 352511372 788601096 625502235 598871790 436016169 662901399 481942706 600971610 691999237 976554520 999052050 267913842 164634158 407688276 439641389 178474489 775204526 454941467 537059634 885480562 476437185 957616492 938911053 911321355 464543997 889370281 547255031 263569213 561026798 618698692 400645849 239623849 198655747 547248853 999407062 853644758 666644063 483000724 983473393 658404995 115451533 176648748 364824764 786512322 362596700 810840433 688576582 650969028 217646225 138404173 183179695 162613520 997585782 451390834 786216495 275445523 926087161 603870460 989917378 295836999 818689256 478252205 668969893 836920262 897092913 548227347 796491703 890635660 849294457 960346605 247783082 956240151 546791202 855503538 440711869 414874989 867718281 512968339 654624181 481944351 586816233 754638605 227031752 969438875 243897643 839960097 552709960 530796497 524636778 147282270 132983886 174100622 203861824 559520298 548457121 711811544 916906818 218451720 296849788 379880624 880239674 363537298 441623287 653100693 468169163 486063666 190419759 515099406 305217016 286466558 481133879 737902708 739387526 713313104 391851594 112001510 640306777 875953542 853077041 199348758 603160959 422638650 539174522 667909720 734925545 564203334 409251199 449783442 755884047 795988305 854034364 348095281 978436346 218205168 860513858 148767830 965825166 465245963 739334049 670705422 818157495 337267201 100731705 932084126 797000327 233019260 793823922 902843009 459893533 686384549 964946071 120715983 786567745 296150742 374659349 342388535 527195292 666093023 996194173 368401251 991981616 753384487 604561480 634262873 879782257 870578097 795030683 609846866 275969111 989941131 790852357 459145324 522766118 210531568 913370135 827968412 910213174 798490492 737453189 283679142 662417558 771176384 894434883 574449014 200506833 886491284 742153617 628453174 471958930 668477978 501956082 110382299 733744598 675130356 291938059 616004210 665120287 481561091 693261266 870494601 314836048 156752106 184056358 515171814 834051973 947746464 928996843 530431582 853950309 599366714 606304028 451882065 496848948 177602019 927954388 741267993 735690125 290185566 250319415 627029800 525706825 817088891 920258204 615963749 964740362 471372042 977368040 904701217 417265447 620144553 554256811 337129278 910295096 666989590 722388184 516966385 653596621 240464724 776249968 790073584 823649844 692795030 798606332 783983532 732490817 458853015 346979359 566070900 655524953 458074890 217767580 358414819 224472017 756301528 754303686 980297230 691698006 804121064 215731346 387314416 538217165 226087072 782001780 549999383 887713127 592007165 348421442 310725530 737437489 167996942 412929762 561002499 485344724 768560500 458805733 249713986 647614874 392293815 142622203 271870457 436374161 959489298 946666332 577284734 414523965 944836429 382721234 216100625 774193873 411060513 912410139 520780244 763070646 356028464 727613671 442150315 767437798 381228687 285734385 669247892 765306211 519054374 878131491 795069416 402832864 741955143 413096626 934779553 629562016 571779682 162600840 603398061 671259690 392038625 694268729 931395508 563577369 371628166 175406139 640522721 692572417 856990004 967070680 743183387 237371755 497325378 824007465 303747708 383235165 276330593 447707342 823930859 735953761 192909657 241077405 890789769 431195755 376646189 275781668 703648812 637011812 630494824 733123378 246522288 965653996 397359512 717051295 555259019 576038386 766464907 278868560 878505556 553194404 446740720 983992649 408487821 402733485 937471148 309067637 547978166 282050908 323198926 358161973 899297241 746526265 192422858 728812328 668927282 245071673 135659392 722788281 495264897 728377975 320549878 582648675 228792020 160488751 840638138 338688665 235077706 591770352 105442858 456035540 780671045 523407018 712675044 827118982 254271514 547026443 768170751 723082795 798257938 708798378 210826304 647715608 497319806 934010244 677530124 105303932 567956866 846923011 970542845 896126794 914925454 977957752 807103685 196766409 613663970 173689535 279062002 497745013 303524081 948635228 385927966 975528934 602622855 101967361 753590879 122974794 880271935 412503833 674963560 706027908 586707589 301436509 378685122 495753893 891237393 746022901 174094090 629362021 274658959 633714418 987475850 168489219 248923008 650070662 716561965 101524419 132067779 867375846 649928185 471834227 641528349 438996797 626151935 986346982 518149719 120585462 302816673 271149079 671552610 720002681 800210904 711998430 353327447 431566557 196711917 688801651 202568541 966056175 589885382 235263323 140162153 762917617 808514676 926329378 678933452 682633956 263273024 389691911 664567284 117313845 423548104 794289357 984325905 790913058 218940019 293945469 433129532 270632799 217514885 551520100 128578285 811571543 589281170 194426266 417784214 244078155 358308681 271735218 821992513 102818476 135776631 418588840 705854225 106746444 281892749 743800854 234639883 185738660 850808040 754109116 349762916 828586736 175431922 227546804 525523138 611021180 442475535 282591365 439343736 305411534 675448743 890922613 335747918 209972744 682253722 186487487 663837679 848145200 907999286 642307484 600734816 820538873 644855325 542837910 951200401 400785345 187834539 732132692 160072200 681033723 353711784 172064806 158244284 696085146 491997571 886051049 440620747 399855798 131503455 110848582 396184306 507573598 529029308 477684158 545726562 565893915 346108943 151438743 101788144 594855384 970108645 317807756 384268152 172123308 295142351 184178149 324759163 809016064 815528157 210490861 234033838 100651460 333531638 915760607 169216931 241510901 169820060 627813441 165843937 523450326 459001735 112975055 229934075 606138656 231552254 225260426 389065758 603177820 490115798 444750864 511116952 927118686 822162414 207078280 137347521 843731193 246934319 827168391 817890293 487993157 902266842 419199780 655469130 887909427 657698633 554164313 768892224 740539816 562427893 175792400 538387872 115037013 526412677 613436268 561494327 777185923 790796047 448366615 310863361 545077334 942966847 296642384 429998802 696078674 383232425 466759285 370400261 860113048 109713421 917295840 908967431 413088921 774366875 462785209 449518149 513989010 776497354 416555811 896468970 259852884 802060899 161780154 851187407 188910789 115844239 214307272 928173636 902059018 698811519 975459976 352465867 427288174 948761216 964497128 633620139 494298854 326118155 955452863 197135087 908607370 476358404 614059658 278594988 509718126 521610083 714709746 997829052 693807483 988067087 486216338 551485656 901298565 438679421 376399792 137730677 592528462 670163925 777212284 330443233 304389809 523503538 580679862 111390420 344783597 347692415 385228905 321413277 884240242 139702887 922541950 180237245 542100597 656404854 800868774 613486976 370720090 488139439 962217591 757854314 273603421 870704078 526467247 732768505 257951740 644722660 814294052 189222189 618848033 779048637 859673376 248244247 831986913 955796900 857171677 161808919 814071157 668478504 518359923 531329975 290360309 282222581 844878391 271224401 643457189 821047827 887349482 366252053 603784606 197300715 748776177 281096799 301442309 399114995 312620088 886117446 599363394 478078855 394929699 136741385 385115970 241126437 663578352 911426709 702821883 385393624 264950768 218300167 990557379 836591129 592527044 120939796 203906919 749480467 556312493 225119813 779909745 592210820 483565398 234081389 485686990 324685439 485171874 781630026 522212354 642216455 787906849 188997435 702007137 110527266 948496881 879197380 766163084 239988421 648366756 278826979 413184324 114988095 189854481 951328704 587366874 797330837 907572289 632856490 989012333 167175018 875518223 748372789 404342067 323226247 211664247 230178515 832222531 254748188 280683641 768339287 558544910 352224085 993528681 129246411 650075897 382222329 114304466 618192300 502661815 635046824 867054635 859482743 982941853 624334916 815843371 916117401 899740572 542984396 228621671 218098869 156465160 931672826 759483745 657445827 589199044 828614985 871933762 538386710 608627057 348888897 856556415 994414150 198499391 816331957 350475911 977700346 753108517 180812127 650640397 469774830 618498260 113109581 238709989 322732406 608684806 563230140 457963980 944065807 222652274 710387155 572728176 803795392 831022603 656593289 393729977 642182605 856763399 579515564 277333812 716439124 370418203 921375266 578277830 233780891 674482844 983408285 267966040 580519421 586698714 494819480 256052374 105816158 137991810 239281551 343866470 271758027 987608190 737611332 478841362 196060060 180267035 370473725 238251609 523157130 240729419 945679101 880026518 904192226 624333560 572145996 384251293 728454478 914526538 157025916 258636790 117775061 890891755 246696838 505437691 715889234 833805317 418749681 211405309 302616500 495856788 560113337 382527442 634280117 614094029 219216307 744150387 304667210 552043735 708741363 930560688 725068045 350104275 462365790 104379019 909048717 296516927 522506737 380158484 984241871 563951307 100751028 276426586 469410891 186032140 336009919 579786046 322778491 597920000 985515028 175172748 631505064 575378643 557257027 635553274 662466670 336167254 153814884 308086277 768155694 796434521 759790253 258140154 678068687 130054109 464946062 728674758 865385842 544533633 962383732 950799451 397032085 866563625 734524935 761229364 845812795 427464762 579850040 902642149 566225732 197082294 947858918 566958545 365560889 780768941 658679590 861824009 570546358 518328990 666561148 833534897 983350471 828140195 719185702 813347892 346197400 189159118 378517028 666080404 996778546 768241504 924712202 120553179 502579501 232843821 913046861 482748718 971659058 841073933 528248048 950755358 883850174 437888716 914333186 921324063 270284870 437734919 514073463 661904848 795935797 943002047 615968463 301226934 144336808 139055130 715605071 880865642 187215094 945865320 546445231 290440736 125942531 800675418 474082414 668090331 185871416 111422450 319756960 844457020 629008054 552156004 807573902 689277592 672094996 418470128 376842302 407364529 438139166 178654410 449086132 314744256 989557507 507068643 635693272 825601710 142364649 391446523 606399281 304937388 822211174 861770387 429001944 922190728 496216553 564590669 335917947 448462274 984028779 824539445 144759573 226009610 433281799 732241329 589018576 375518011 475000700 375336473 360893112 638344930 206760448 512123419 431014705 240236376 597170071 319807713 118778411 540377213 948628547 102844613 699340598 760213432 588085037 866897816 644790209 515622572 225116859 904166721 888199691 915414568 316047358 428038101 850178448 971931481 107267810 426287177 142678602 910145325 114639716 558436077 415255051 237396462 882707658 672076356 804484050 937022203 326002456 803739111 946993807 634894143 389035916 462107287 273796575 609272752 406802612 716943744 449975535 537110036 941366497 831135748 134458588 899661510 236097624 707288804 522467561 445576785 816392091 566172093 443644623 833908910 450796571 698956944 576859111 510720912 360401492 153584556 566004225 407068520 901646862 860740638 899517105 642063623 928888332 604971121 645117195 578150392 657981256 982595923 991779208 764719094 624077864 812195590 144723663 692417855 169501191 750002946 713329033 744979913 353512647 249418463 105129368 690530553 692374724 452188951 509305251 259784046 534981014 135709907 148872637 369884924 520797469 411297190 146219675 224312105 511595096 150695706 872988874 574701221 644316135 456381392 302358219 505967716 577765490 219067932 287804195 193826511 298128299 442506045 327701797 379323518 257991279 825145641 126818728 281163055 295957998 379320207 467035128 376651673 197282158 447050719 400109158 412615701 322038855 806737893 314084732 990145943 461584005 203980795 252187703 911045713 837000734 258984938 951572342 624600902 420375778 318665778 899778974 819375602 439113108 318967521 589116826 590925369 953568700 303060826 371015924 397013655 923238035 485992773 534565734 949947767 212191610 312279002 937817054 924836577 544443187 277724934 689078847 726315883 360244734 925260196 171332606 216828933 294656302 880222660 969580416 516087945 602491098 337047200 501906581 289036733 437938914 364984709 897040661 328674521 742999014 767707088 159839759 494005530 918619158 661459664 823236074 783829545 308143707 431681397 126117250 115274370 631309395 822152881 185978755 313555924 945708254 230340727 660999225 437328514 223501083 958672356 834010657 161561856 754648962 100735618 473421123 299556158 138989384 653992700 649214442 449438438 419935572 572705514 625379527 124575496 387701878 181939043 529845397 745454453 554748093 840793725 115931238 753260469 820857979 926473124 965413071 890944906 497331105 348352502 414068132 936997615 206694581 159023750 876732580 536167915 744152768 901499282 256999413 494565274 860082327 170352449 443565594 142651975 274456594 497642589 518161237 385270606 135629669 901622837 953880111 166479424 634057138 903936977 472996941 163318791 440353661 503992332 567634394 961131058 305627963 201883794 543976205 778921958 362228599 986588441 821803294 507293891 299505622 218266944 500534719 334216764 622310364 918119899 629640037 856960105 406153575 378367025 911182418 880643460 757638738 363818151 356977740 320374723 841455776 712633639 246093356 932493372 125095083 290584468 979538714 468688651 405979935 819287538 872490897 397817147 236593651 852306505 864698194 954885367 581592973 432683326 511927465 212590320 894727855 781740735 304278601 407707924 783437318 329374421 824202705 258505189 638999860 612912453 692973774 851087597 549141705 963596662 930456937 245646887 916744442 812082432 590569208 854566563 894687227 780690296 889441507 206173768 547921277 640660031 246311940 127413450 779023248 903729557 176699009 841978025 897027171 579110302 786311428 206337896 994232981 295060648 801888862 748208341 170803754 927547176 326178736 750705511 202808235 781583091 562272837 910640882 220722120 895913914 162013828 500319040 916557337 634505755 707642178 383555388 176197132 439478191 107751843 654879191 330086469 612748659 895029189 652536917 125297341 904316237 737469987 684502510 746096165 284826950 781121559 181151128 212673109 192348661 612677337 807901251 882746809 540820686 667719410 475404816 319285057 472896286 805417629 824816781 611979698 398975033 109803234 808732927 661835161 481861502 601945489 710540232 765766954 204738391 938905542 990469944 562011231 168354769 734703792 231625577 272617162 706580180 610926591 888826082 784487479 953133968 502304864 913137376 321109573 577724078 280067455 237946108 997899398 665709760 486383072 684663217 988590028 701466032 384803243 265982144 596616922 138380257 341123218 854560372 867002944 789939078 989887082 384028957 647527455 269791414 215529727 945004164 983137890 757646589 579170581 863935370 536128867 514631072 179235763 212493426 712612757 821283735 326231872 107333157 637362296 556943215 958791043 208135412 885820770 734270480 271945318 765251235 440118398 703190099 535490656 443408284 377430997 592536853 190117742 243973856 812586074 637755470 413917245 479336668 636304864 382609881 202223889 885603839 213971021 741804786 606976226 435378905 315498558 968175473 552733771 872895327 954923300 753506880 350748521 764955197 313991512 400936841 267759176 227501750 429677095 143967925 206962135 624283054 214525519 690933766 379641266 415203695 114132660 437901725 133932587 698027299 917227872 415100471 931498052 282073734 465926038 104495351 212390409 974726582 964993034 382127448 605417544 266031690 553013133 278738635 319766150 325842500 385110376 623220170 841541082 540177217 989031626 708607194 378331855 201873541 396715042 939386120 961409701 159839501 735240056 122017058 532542377 104861519 453672295 156113778 288053664 246201715 897419348 233377920 293463212 301885536 478474974 768680266 402231886 360433001 923512096 875975305 491410678 195056678 450484519 265283334 762735626 400658374 591370410 549164561 401656543 750636568 648663320 930783100 519570525 970073619 939960201 937812297 504049490 113163166 375841465 846821457 378100170 277197019 877262044 326994509 152550519 982492323 344595976 196963004 715601884 234239831 912402705 802937143 455193092 237375908 339586100 802286564 965699700 832573185 891654907 694806121 627645181 488867174 548588505 663928887 184924037 346569212 124398710 615758628 245897162 133278582 768147349 141507582 524849234 387255618 750986513 633325907 113481156 628970657 134585089 461356037 953096763 489669143 529043366 148119062 174127870 932770201 489975047 352752725 161160418 463001134 740444289 283164437 501944053 904971869 807133518 328829807 851209628 810583381 863779477 297108930 885367385 949044633 354982172 738816167 408451835 617685946 722658289 341276616 981872047 979172763 775068205 691577631 611784418 368254036 137563950 237618227 762768479 356462396 393475924 307998270 408766318 601553431 690983074 808847473 443766162 362560865 636440072 756600128 999475773 858306188 764344968 814122092 359280575 166213727 159899498 439239815 440490990 689357535 312402996 776241822 445230667 410895589 513728925 358161246 575199847 793777128 665036399 570453553 131368838 299098453 257122675 339684370 699075263 926539660 454911491 624150479 282510013 924343646 989860440 115540854 105126614 827240496 489841106 554139021 755065866 776478742 483975460 988810338 809300967 394389430 776999973 937712433 805352154 755024882 981613643 972925605 351498487 910296158 133481371 371513400 639758849 992551718 766811300 454062003 183466289 680249167 528757706 878325231 679405209 674320172 308899793 126919636 259914276 471120729 755680088 772757736 731548171 799662764 892531061 680679232 218881637 384582307 803840730 983574077 255913240 646106080 257589848 157876358 328062639 907701051 235564407 327700807 641954759 581246015 847418872 571981864 299143700 975697449 943789758 127531607 209874505 514512057 666857615 638263700 506526664 122363067 684895275 519925897 528619665 932673327 769056100 173295351 825255341 582511485 715598726 315384202 904454538 112226213 433405732 322513462 387245776 235679052 774290301 801345745 649373866 478605070 338899319 898686467 452928802 715968010 325081720 611713474 850676688 299596880 290157600 565406366 441175182 857744513 795691922 803891879 612840994 566878012 841466914 664067326 180763351 546696862 179358014 961944842 552252673 873633691 616930260 165306776 336541654 279670925 971273209 152732114 304815413 294184288 509107213 881311538 153674392 585411732 663874157 396747366 683602007 599513461 765557547 974742334 764483218 361579318 254325580 771930864 852610022 197900076 544992644 281551958 433292414 438881449 806178248 971890616 760493878 763642169 175081081 250554548 268896769 397721444 732043455 172160951 426370186 972644362 923658276 246481018 526978987 599633879 578918475 575755680 571347087 823205029 973124069 287667555 836024963 247206741 179652305 511525718 557527777 184458284 870842013 469209498 246133906 336873364 874218382 706977508 653829769 382682203 889392558 759881332 735141990 500642573 950011162 570280313 395296970 343391571 356474984 226885965 545323112 970704198 888111143 622047007 183718878 196771521 190311136 400441163 998049507 116337323 592975213 886524954 133463800 701600183 238428771 359362564 859980563 249119601 458946826 186245145 938080584 291663888 519900221 449369896 271731075 100930231 364838991 452787833 489517332 313808120 305767177 657692674 478084549 188542733 864356447 655926597 821558463 625196231 326137349 631264695 174210963 356103335 152818363 615016785 872698068 737525410 176612410 395733186 776730950 440367952 970537554 692402850 299484489 265679103 148265700 627747214 812330911 925878239 273339842 459230968 733885436 449537583 830090605 415941509 509608362 806332818 539020981 719069580 333228987 124377990 419406038 449006886 715424258 762350364 838046056 997422523 705854985 252201076 388136386 739177369 857540874 356278763 479873263 881965512 731363162 110948308 166896790 851123017 278330215 365292519 620423526 981102573 634409054 953720177 141541675 864726581 231861498 439660047 884162500 233444710 309545772 585512858 896566184 607939279 579944314 296354036 245506396 190064160 344750085 657185592 151825387 365784825 520622920 574277836 420263634 970306251 670977747 822829269 853848012 313995718 492807462 329173195 214677771 844455622 619279693 674819440 178247525 394396445 792771120 649647071 680306559 179617229 924225239 571171101 409844792 412515708 533101731 420554706 392455697 381306662 847520794 649806738 354826463 341214733 240024093 670053868 487459224 213075934 506789834 505895192 968874756 827690285 683383195 871090975 327800931 120211559 435863790 639737400 633139125 972969046 673332193 315726467 795167186 418919123 676863903 685437822 588872540 800855600 247961711 313809941 531301024 195393857 506462725 687127058 120041888 801795981 897682080 420739292 153812824 335070320 561437520 798516368 742328902 936178299 940379257 194616937 354751130 622698879 282393657 832548063 700551571 160267513 532115666 265272473 828593027 393684690 126874699 931208175 997843925 552262303 174791417 188478287 556707904 423224292 807678847 776030108 326304026 629965986 966755371 626418112 447713630 942671554 556733865 442638646 797579058 368149729 412360212 460076270 930654778 476146984 192238237 827263185 465838593 393159801 456009956 470057502 581195178 855001890 219367001 493946218 926678342 841613211 670812084 628557101 875675237 491684401 429806921 878108335 536633915 195458679 190744422 771465682 789880278 903491283 805228472 909091309 732118963 702057020 961914887 774300537 956452991 929148625 246943107 366915157 462764496 112891253 619001529 570025437 146965389 149706513 788437796 355165652 703612090 265806356 168086989 456788623 285649304 413828952 455996608 535427182 585842197 733497839 864166753 465837974 432461293 931647767 679412929 589874069 482250241 344176124 614700854 446982269 668891714 847841830 542648595 610317844 507786298 314646383 594234109 987600794 309821953 836488728 995117971 830445398 180877849 980774223 508333707 428983341 200784206 958940460 771811181 379342608 132748694 678951505 282961753 610618348 582508189 799229262 394796360 789339047 423972238 577726741 133455453 292870336 316567282 521886314 285753465 389017778 602335793 213286382 782942406 325472747 136577315 990363057 896537598 461576946 427991578 698837155 862763179 361967451 511826396 406639267 471445683 444575755 472320132 881755140 394143803 437826913 439972848 672723939 687596897 880423086 229500722 127037783 239122216 793883476 485725235 408421388 158507309 616825182 680298450 849473255 887729552 606516729 961140347 173785317 574909871 856159324 634808307 171460434 231590947 348862786 547254672 873128481 990131376 471418369 813402665 851580345 723798057 936010401 897496980 889182252 925358451 575349488 712725860 740317188 949184027 609092890 800743186 441872521 863521421 235219857 939388663 907735258 522473062 634348639 566592818 679527540 179254651 254932301 985880757 434279757 615827340 277695092 565361820 529626200 430457297 352480898 135050908 197595837 983994715 342002638 907502686 739188414 304423622 960804285 579971976 388320103 213161442 906988928 723940366 722576885 692115697 712367890 789354890 172990188 777537708 670853089 918992525 190903760 624912383 332212757 359208660 650322872 179182048 447499679 284372624 963911474 211075393 874333857 295659277 670857979 778375782 259104022 374194690 457771495 162451836 205967268 187422309 108059594 694383505 806862489 715349936 103605067 985030712 161363143 179147908 380009634 134265291 380436935 764619939 924295543 768118922 391522778 554854112 112772537 708264372 179519307 239224492 789794179 719011345 824720484 550930706 163361190 835058605 236498386 116820757 293381842 683302640 753873788 720173664 950222527 830577543 980426560 448075544 643808268 814392846 842796780 329202111 232335606 927909321 518825489 166436370 766869252 445952670 134250376 509237905 809144718 496143161 679053108 410205564 207934735 343620971 225335250 519193506 920581628 844697081 752929747 530651945 167403358 695935608 558816311 209748894 867448410 990925327 538564057 840899252 758962149 580481039 857763143 209756569 923826743 239239444 736228662 627696716 284222012 243875839 268097527 613240569 977931441 946738370 649408988 512586618 264538019 865332582 239762754 445490195 346762861 318997627 987156820 457553921 832715109 384775245 535964642 669337078 845920926 988980814 696894680 215900599 971682680 972735365 219030474 382098683 378908327 929934893 652142113 735441175 669743793 617828953 981876664 249007228 863816641 736348806 467648116 991232775 606314635 920248521 486951114 887474077 705393286 193202023 692766903 295115602 925416377 289337129 843612980 783864265 370761424 633069578 169134850 208556021 932401177 809163136 756866732 486124936 922965679 135014635 631071657 599932366 221241388 154084368 977642355 460376580 790242863 747037376 614084349 175732671 967891180 777619541 465352055 673639638 196196909 446897255 467427842 882291167 884606497 330893488 798773727 619144893 975373599 869098032 198161835 326560472 280071790 658188875 836330399 408748937 288468281 307847354 502601360 125688263 357349734 551383883 361788482 545494438 758441595 642153897 204591066 294315285 153137623 434293203 521826161 606694936 538611274 705772116 846729679 663162256 208039554 835782995 321441069 579854922 846095074 470488289 266373180 432008773 306961027 765339979 738282172 886210903 656646818 873145653 330560714 598591382 620521988 914065000 697660163 984980188 774256694 770627158 562363121 703466155 910134471 622833396 298291480 915933565 821237016 928301156 541239505 293159713 974182409 104616204 759801315 979147814 790470362 432140202 784964627 282741436 648448425 124598047 166161456 264698475 536973855 116067846 159880292 899184230 747320742 973456620 382378514 463256686 428523782 675061661 812240199 465412686 839664531 704766175 311896750 750192225 882561276 741627183 162917061 638880470 594039242 606968482 514814525 687288484 606224599 940584793 471715614 592493814 285799549 595844859 387938938 449951433 226970862 860824613 894998614 130865886 714047460 155769709 382730436 264896445 740615824 103440081 898588866 257160651 122508019 976421088 317117529 125539376 664713728 545721016 614497522 205166353 520766486 405640472 981626056 579613921 420542804 862564176 738687808 502410741 949862237 691760719 132001943 297352524 349049548 166016047 382772487 900613525 902727213 425525190 746917572 363000770 268669365 479890706 322642118 677449511 882567896 124947204 323536067 245774043 741862056 986771143 403087155 735369868 366994638 811017291 450187190 890172411 691141226 215911223 998305493 750534870 208015232 741291042 208150444 725477497 607663846 680729795 606807726 740943718 627809840 422522115 816385599 126060238 576714268 976953939 130534580 807740014 968421689 639536555 765347832 983065231 356492172 263721155 744294843 436531641 997066871 987853185 355152714 525558265 861470455 103872765 973562617 951485373 135290499 255687635 720958232 858890698 295506112 492206041 840899480 943815060 487782785 283133872 259283424 639661449 834485133 734021813 473150569 268770379 161813270 541927211 731861820 527067589 284656672 709446634 299888210 933049776 365594751 843379789 491250277 703480353 812939580 585263012 462638959 519349847 775709420 641199304 548506402 369236332 332806469 171044502 202275541 481386912 465883001 224571593 320320578 563647158 941911676 732259518 248792855 232319875 294882539 553435410 434352056 523397807 777315193 103051525 892339967 505054064 336484411 913610549 132155980 468121347 945731745 532747742 348658285 309855863 133984825 159631529 694903130 700181423 186725762 589875727 441845040 842200219 594529712 841743048 665771728 694633074 496356219 230143884 537041459 523508263 941935051 847490835 605535930 315339880 330964976 809957629 848719304 346004984 922694826 515671631 116770562 948487702 336787234 987550207 640343525 306409892 602731313 760863138 341099097 321327000 467261895 346059562 464114147 791571177 498675671 198128149 407444291 314205649 748126042 579472311 785236891 901537410 953770670 600046085 937709343 534272611 599511214 905092120 904347092 513411523 139667213 127970572 250341831 741194956 348160265 501811454 790637786 180820300 770467956 453498826 543527367 758910003 708237843 579153897 736839363 436765747 750523908 409441081 753065059 337066980 638240853 753490856 466776259 886428037 709917774 795615020 381121975 982839104 444794205 469162554 157201584 489184685 755597631 985166547 235209501 349413108 277691173 163449389 962971970 128659782 983653308 793095029 309356123 840474777 198885838 606809898 201604046 551338644 343900965 768631702 466679333 928686944 996961332 261800093 230366694 594018060 914556967 768343043 681286710 162604076 610476220 670757003 614589808 622568094 368926850 282776315 124355057 341690942 107974267 811831027 563082554 824506763 323344181 223065086 788893282 704618418 340021249 960891690 591258925 327964228 175339746 967531146 132655769 194059168 511824906 247838064 121889943 558016037 788712168 218138296 509928835 136266795 484912271 725012407 568033499 299830686 429896595 294176698 826157326 580010250 752823041 100138704 838928778 242559099 610668291 909402043 145080281 293711165 703921653 112480441 624574770 677163065 906807942 585798537 843904088 979528816 613731196 273140991 276671978 918180595 712671276 924999015 946109948 511503909 979720287 218354062 107466041 946486750 901738739 606232498 115580319 544484267 479073627 823108605 113336144 318110750 909372807 872244633 438486306 300494718 321145856 474244994 572906929 244078132 384774354 585025375 618684177 115805276 461278477 441613783 977025437 696154285 872433982 307784068 576908845 681948482 713231606 583087835 182123358 697714848 679953347 718922648 458056076 807155169 267045069 120107527 125001005 622422210 832499561 936147100 652610766 750288328 534177707 330927543 142127561 836294563 233959307 506644591 910479167 543750937 580729018 648866567 210016514 992605366 368804826 664906418 290988526 336922601 789787384 724417830 167068778 472759292 896137229 831644630 573377272 174168311 842757597 564089642 103396585 189317611 668617240 952682830 484735949 331762746 319124676 412621078 593447407 439790128 534936740 819116537 277886133 203613472 124356273 230168838 966471629 551094877 268901161 820283727 166080319 746984563 449063199 134197211 391509990 454965594 496075095 597196839 209879707 438990004 236491535 904208700 410880630 131896232 403145829 546507186 270403781 499626557 977766601 582992548 303315824 522793992 785687509 903018110 275560896 251475429 944912955 990381390 577410914 940747037 509010938 224496379 390845778 684175783 522956424 412563767 718143850 861974951 747974072 321978578 391335448 273428934 144098769 422999139 734700407 614496023 450070406 328998791 273165407 993810188 816991747 247861321 237745625 630780638 931906257 926945096 537627462 947283962 694311949 191822730 720465285 234210872 799980562 300388692 711273408 656792003 760850358 305274876 612183890 933070597 929794554 350994388 713643822 318460586 150959431 130141110 572116540 326388931 520937645 193546383 422155228 946780670 978829039 894951997 510212267 889502899 535965109 364000103 309710212 260885591 664722155 637327244 289637526 706154971 420034697 203516368 134687926 143525773 590331754 653261136 433048740 723432768 933178245 805660693 603691334 932986150 922862875 459553851 579391828 908754830 135613049 442431494 483710501 607785802 898550717 981139467 728536942 384161519 887815940 643634426 756780656 407728009 833790978 791816045 856674894 399162845 738715570 658031693 735912750 201172753 850242168 152093012 405767321 232572451 754708648 767607574 266020357 923438702 507455847 684538731 996450513 360573936 637020729 265769989 289983020 617218139 550628423 279612122 264752553 723279586 831691544 613502421 660686896 845178821 342171675 716929409 773503628 980862953 340347913 846601009 799961530 682850346 263838591 764304659 173885493 467941202 842855299 470841630 320078310 950279599 317336237 204735150 895041369 434578770 511616650 527307355 284946284 613383346 880846595 325231233 454691575 596915531 721199218 232390759 697355231 654347448 201516040 578602566 546321995 612479076 554590368 285448513 657670660 326299393 900838494 566417463 808477893 293567784 636529482 631568372 654574078 441680809 145873138 938755065 390299700 292370591 295964352 855049675 940286736 576695366 918509480 745393466 577568041 694794289 973186330 781296829 941730016 230644931 122024067 491414153 172160700 263697829 603484584 258465044 540833917 151622579 636684890 148543425 318038398 781601723 715858609 871000221 837939632 284196942 916174702 678287610 269084371 618223996 159978389 400648184 369213823 567788719 184216719 524418024 327270512 550624734 595669501 511789840 307368624 399632237 478550940 981217027 342069111 903350722 234384305 863158693 816632407 873170275 595186778 247413646 551633533 570289130 328775169 129354541 444114218 424004482 436066805 471771270 748081363 986170136 272888971 992046774 724121764 783358479 342681428 285561993 236512215 578782278 402541573 130301667 850932409 290203742 358736427 110835773 991948075 288669229 396851318 102124236 952485220 677175537 360488977 226577098 483656813 210832947 622386501 107966755 264485871 428480627 995908094 466055406 653670446 341703702 970085234 113446265 166961964 965179389 514812257 232898955 600828778 350025120 560528560 951592720 412230560 407796186 903122605 740042511 676365610 393573503 784070569 249573479 136107486 942502820 348805752 168818050 207266143 543221413 718410927 623622104 701101673 168137417 773169499 479280772 530427892 504444508 278845639 214137440 635982295 759498645 461553447 729127346 961264137 458821992 276355387 259359142 534634916 910227180 116430269 267078749 913531296 830124541 240768085 595886286 169454222 758616695 997505303 510512071 671466098 493864284 487563718 890581023 980986945 712226976 309292721 132825026 153567075 747566276 734028440 165956799 659814492 437223494 399797043 241279226 371384462 578111841 466211363 206993912 749215646 874768383 404644805 772806831 112193562 379467925 600795944 306353697 117871565 546358000 746936234 513186391 817938333 140530164 964151827 185425222 615229612 301812778 711614729 550926181 220342209 533032156 311489808 509349395 927344793 956068541 787425508 254960158 817570710 852620850 538986273 405735269 689773946 351852330 493603494 349788697 948434352 995909673 132180513 253008525 390045559 991360086 929484613 465301964 156151977 582540989 494093753 648011338 494271632 914352916 142946673 244579218 712511264 522744300 515955728 922092573 660337104 236175190 226403998 547222367 654633741 487748013 281282870 546284884 402213325 869752253 914130281 413863389 765025184 643618916 865467727 767886866 364644875 765273851 657258878 724720646 968373772 119981750 200667090 878890942 364092331 102645466 523947289 796787651 371117046 377402715 240329911 969188954 427871779 129946696 575364212 387984683 377259674 758706511 694909703 245968376 375773500 121661127 391252554 817401453 644768494 927868149 593404891 320601961 150964487 438981101 692872787 846099697 558789190 185911508 743796360 243018712 472652648 773783659 954100616 139526067 775949608 546321452 383412532 600683361 274777482 965193161 288751345 126102476 668444949 790169603 944663790 743189097 638129272 167195526 293181738 178258758 626853188 776304051 889569940 185600775 763240455 561180229 471677683 983025221 236103554 895404298 680740425 764794764 907296699 215281300 464389050 621139049 492786089 238369396 410832165 436058527 301567229 213764017 698385964 244667491 877875745 413084057 319507089 276686252 593935325 856327649 996945919 604298887 715873837 727925214 582540300 939042969 698669912 278633132 114386505 954188445 745187347 513338497 350194464 767073836 277672166 878334423 984490668 262347156 197520774 446666015 470386837 260849467 890968900 262987928 245200567 535809803 489767640 251626945 367906078 914590911 414542997 348364970 984288825 701013549 397836821 947725193 320542754 492031066 539267081 796099958 213251368 524562600 453507469 315504003 803884198 418912391 921688428 111257610 669463005 800061695 386873920 351719254 606057568 990558950 209893470 361043083 944977101 675779090 140403642 674260134 688855073 944098942 960244393 285859971 123503658 525514992 464627059 418702091 527492325 599456209 847359075 870596753 505152132 187879880 678942412 389719208 813974677 533867247 836907299 360598281 861081947 436778601 785522323 634853307 886967647 861413428 948408622 109353655 152280624 218774359 956880658 945009219 402139992 969881875 329655420 706600850 721240248 118216900 335872586 629059877 609106366 238173302 226731343 446992386 493828671 221442223 400273988 180260648 138368937 327081852 329140517 748764339 438585984 760709562 615720754 686406656 995783739 756295046 244592333 389309167 174146224 104122830 922319580 616780544 514126076 489487445 787064677 964018184 144573118 575755076 551214174 481594288 432904431 716295660 510336251 661882729 143926006 601549040 705859565 220378796 171454953 600764987 276791251 737154968 799419704 997930419 990437472 897826446 321997310 400180872 525784677 251629082 904642161 123044754 356497450 181814410 718666794 364586051 713296387 926832036 464699452 385799688 939465147 711539290 111536503 356752259 807542957 442756058 407433556 825734059 206501491 137569108 165312465 380320482 951156695 639842972 575852154 410802062 172184001 415232964 268976669 568599092 457501887 447289163 892813504 614941157 202390943 251106518 750071631 915299581 560600511 826523522 835237300 548446308 651591553 583609369 154066513 343013904 189468308 313069788 453031285 168526780 846889513 726421543 621924155 264247555 937331927 357989222 326135151 876861772 586630882 184972449 720083997 748188688 115710136 252940742 496173555 174869223 444315676 870358460 777457760 762077341 623718577 243086345 512616740 864109764 910844223 744249234 814797843 122055083 988177828 658841947 504173766 831984222 967317384 303492459 565857267 978023680 980124942 136962634 534122154 450812585 976055339 762613428 365131985 563761933 839946585 439443726 786353631 985507888 253481787 897021472 144144225 754527612 997805653 852847764 865400064 726997117 561662787 785725333 782163481 243468034 883219159 587984632 160272273 595217101 854660725 424345451 893136622 764338650 377042451 751907433 115973598 612769502 865284968 760500373 860265608 462170890 102938135 759302396 950167046 616047706 195242108 707384067 229806515 563970063 481693273 357613144 255935785 643646656 165550998 346147110 972119681 281829201 701926123 857736883 974314279 306807262 387792946 824051355 807871549 261414765 777286515 199365856 592135047 638036072 613942852 974880027 380408022 870292389 231148542 131499082 608877121 446091876 128904474 142216983 466286593 959662028 658696768 622870407 167110018 971722691 840641580 764596177 290293177 347096945 828083855 346064407 711275352 928153472 807967708 846672180 861789723 367251620 773637283 434796525 648775580 839115334 888626509 639313490 229918323 476993157 333686606 549410213 351036819 470305052 735936448 170046328 938429747 695869321 998675637 143688066 982044257 807954025 282008846 394666298 426954233 834142398 849528084 387157019 996645480 759161571 616939615 934985138 628470734 167170313 827339393 926967337 356684337 639792881 164753860 823884486 131092130 917902374 772077309 551744413 937008023 937063090 817023120 680470597 805376220 358622494 921464545 365121894 730251352 564912222 841944116 237560368 241572886 602125195 966361373 663408095 707791728 765765912 288057239 637834888 742153697 720943589 664291195 859795976 136915896 812841323 673551210 536283514 916966694 675129943 718640017 191299952 552380892 985298967 644709141 305969585 247894999 747028708 906621443 943052822 426999570 812031695 516142441 208335175 263273593 473625184 227760759 153355107 559337540 790072500 663181254 420437300 877729762 972110563 646849546 306945707 922703004 883573372 545363436 245076585 655876175 364793561 394483979 576432828 792290255 520282847 276003539 263270299 352068804 520754224 220427039 387102122 157873504 977623565 951519245 762763106 680074794 424532464 185937258 224762153 702213142 530208358 753362641 156982962 631812236 178123061 638198758 683643576 327102794 395087523 174117776 565242365 265213307 272414853 879416179 880901602 823420484 803649095 812709487 884495063 378759555 210806297 593912145 684616335 682837107 970867982 814544407 312800924 579577779 717205498 348391032 443025047 913341302 559803858 708219598 151033801 440712586 966955573 421450628 496838882 752581594 513722515 379562303 807430172 941366789 440795830 484439550 951209591 472905695 611323696 841570346 973598112 260013805 107726222 558720002 781987381 661505170 269456098 357173214 520977045 961091615 553607667 731521489 145325572 304026927 708568320 500691888 182006484 628559783 698273557 721374032 520705029 706233707 477303514 169451514 928617560 866548874 722092550 233365942 730444767 179542983 889048548 225244579 357295136 262769269 844453176 108832941 859790302 619599712 907932816 870531218 546782791 597278571 203405241 663658435 453243564 848325103 217450193 782145357 930951152 199763356 687469469 734386092 633179775 171482228 326486352 434358744 624007672 360764961 716090720 777953692 611365216 967943892 960286567 750139526 148910273 732555485 827533443 706265901 805141024 130030139 927355277 360084866 211966477 873443434 501672077 414234865 422473842 610835289 732032590 374814008 508483372 661043989 945874508 247904090 587260093 671346731 951900649 617172652 114495177 348030112 697842041 105886682 958238184 877992787 206981572 369813748 144949424 858303407 142492776 320284554 760567493 268934826 904623519 838861805 400904065 191718802 823107691 724736174 931477315 577823875 454938952 136243704 267742940 908137620 902139609 395949077 343235946 314154808 979750777 723456658 341640108 907512919 660623129 243091988 216909354 730933775 533272097 603487291 173122885 419975708 777258407 913317400 907535911 213760754 559975941 537922530 231652180 803043498 711562230 101441422 912170141 198537112 695037273 723439356 468003687 927345809 797080760 636235254 670630298 827339743 961598338 652540488 436205511 222276205 934232669 469129322 109200155 611533841 348906286 570581168 124973353 112665815 153520659 921261286 347895813 760146488 539823014 263902832 450837170 117206291 740636319 366153988 225754897 139585852 192780854 714247800 837233132 334091453 392616895 361582277 725001029 534174024 557208610 133115214 585966904 514596541 178349479 813650246 232462729 841857496 190792677 540003604 681390042 755069608 209067574 249109513 329291995 506106252 540443942 222305387 860239470 588604721 900566674 147740276 381066136 641805501 214679485 994811806 603128355 307419914 433287602 689070909 943645675 913556287 245289584 453499079 584845319 288469680 200857108 226044352 959359349 663878813 213349175 371623588 620799370 655846970 170233921 758191430 280068023 233235048 383509478 195522430 622474308 681021876 734488131 368915048 408023864 903257615 987979378 153788560 492528628 130932427 725022202 162869794 100371160 255788271 704060222 998435089 221673316 787815414 169753332 449866276 713833234 467889636 687545309 330732417 172220308 283311720 383836670 959145506 699798598 797826804 200243139 480499243 248794302 943669189 133006998 348294449 419793582 824499910 519571650 890760233 807396266 598194037 866012309 617401857 583345889 258039613 982354561 143302149 878175222 216851333 940437109 305623779 814702446 470428306 757978467 649620654 814592212 655853643 752815652 578956037 913220837 513282045 286364301 852484429 593601682 465448919 334785230 266601607 299059697 848571679 621333090 825899982 876557195 919541111 960682439 649248582 532393663 464577784 343059650 658338731 872366699 120052531 795912968 515182451 662045523 318726883 651577309 959515482 687091316 875573731 599567841 826008162 728946370 490450067 678561681 563435298 941425160 495287745 444797418 921424431 259359838 178722564 356199023 274732956 502211786 961238342 723497667 789179269 844387008 272747190 596613021 630395228 133649633 378464892 404246778 720231645 802505602 361606319 709442402 178523762 961016837 512847782 284112210 944404115 780572683 773916505 922156868 813555377 344071505 868381694 384515822 173639772 840320616 652900708 538268476 458151704 914429939 913504486 727060133 213967591 926464938 606149887 415347425 141545186 825731474 729577058 719711039 243918990 577692575 508978695 963075183 760568876 129150904 502831322 584899820 875465442 849440023 255181104 643370830 356733348 653345691 501393622 342364469 983619788 154996879 918465338 279325939 618264557 428453564 392439558 236462350 156825783 285502430 917493325 519316247 112969350 470467811 205142571 624693618 775567267 493416850 450414457 882042953 881055586 840414854 319132058 869306607 860896437 921567099 338038483 212304130 661943078 203945731 362135797 908357158 242907369 104135250 348139143 385016886 675706282 111634773 299986002 920253385 885472136 858819678 814852665 353031602 856402495 140236065 814198872 733121237 976123397 259505996 247972264 669235612 441615569 793158802 380729622 933732918 539964210 668145466 495570383 758596459 283803007 908953021 462766525 591977627 460400191 799452895 755054592 563386056 206704689 991514340 930062863 393655034 548619869 579690570 378513588 752738301 250214576 246100212 198365238 689828353 400481961 109437647 319509818 465891301 528231055 863959499 985036953 724872277 698782236 794787494 216498655 637959654 723626771 853618313 868631327 535583658 460698543 915130873 196263202 909086201 902768966 783978111 699810613 864030729 320717033 906849392 541114510 735118722 970277840 127053119 710178482 873154911 913725850 174658869 255951027 836338825 950106245 212177885 794240308 629034933 132987681 802992984 376926243 458628881 607293489 397786129 401973888 427182473 794726686 340939762 619180675 904505975 376373149 228123037 811256669 588096768 365112890 479484993 774221070 923479384 955256314 926214501 623024453 655533462 182904118 176301014 486322737 553718181 533845638 823827639 340819424 551154117 443145066 519992534 146777899 951027016 761845410 604183466 725164795 383987986 887681539 227120907 794987641 854000988 728808515 419374237 334788660 837871462 855912468 985628750 611905999 438035211 757953155 182728270 408747497 321257099 866906536 293740139 754355952 560662510 331303481 507646700 355773218 544443312 740062941 781170716 134376772 165920919 733270464 855216090 616871252 176464180 808189804 350331977 728221811 533447435 973342863 331253743 365814675 561017715 312049754 444967305 773755128 297658794 335037457 303376688 106494566 404934884 196175180 697676596 768828712 312379273 582740108 576195634 288888667 227009154 989044738 866144706 698743555 521954138 748351187 338617898 686307802 774275712 590644221 148013903 649468167 759774163 491804928 822885133 858258837 184021977 921519935 567891342 377556108 972181176 515867402 760236653 204154830 765445314 460300786 395532757 119226419 821408344 935939369 662786223 844654245 167694226 789216179 124525619 598003226 884874906 449923082 959940736 493220521 817626514 397049792 566206458 561804090 196324984 137163943 128565173 763745744 169782314 744807443 274085671 467786023 710507212 704560676 990211904 498717759 247698552 100876249 309100755 209506697 498425000 876791034 893340135 134349072 583285359 130596057 700030366 128050300 420450948 449761186 655744982 694711671 944182635 341638227 720181798 809805906 182057024 964224267 193607974 375188897 727022626 393374925 577467782 959322089 747173094 521752719 406684377 169925502 189917498 367749026 127251106 828770107 941189326 377124573 845956874 394956872 763515025 524576466 590745705 581469873 509752173 151494832 528597889 254709587 951547985 295353519 356255104 741917862 282269465 824794557 422407776 937303407 343443400 483490443 945865324 418534541 310680271 845349426 929592065 854626045 195814841 730426077 704537006 983822446 979179352 246525465 550214178 180314228 660958737 982648931 184830048 383825195 751289495 403843611 744717151 944673232 519503863 509740159 450024769 813207737 570129832 290972005 344551410 349860699 421125209 970901954 231321094 852840100 846353655 227947570 753365378 678163056 572519265 845217417 869711648 378807821 570327683 726011734 815813491 215702390 633035935 405098446 528941578 614595236 823592757 661515609 174450835 755439756 515124057 858182200 260772644 493756432 505697634 522492944 341924532 119288615 595307566 617107615 478994542 267357544 149112852 906144070 987796652 912805195 494266484 146061328 526710196 975689007 699911374 863811251 186137084 398334721 461754228 823674928 819748732 843489689 316819568 284186644 313881948 170764666 959582516 621862856 805366412 704087006 304253880 937689145 972561563 277473133 212808604 551472001 288865565 155564247 719603112 707486728 381408377 426611771 375526975 738832304 878991469 269574040 346266573 966775742 892783304 127888024 541076722 939034940 327790175 841670522 607676844 449349610 526887753 151628160 187148346 642593511 956374814 747515248 634352491 328410986 905539143 142598163 450875999 615087381 998269911 931613933 800097904 149745515 383279257 674435988 432418814 744871034 178191971 523207312 826973628 343306817 966583839 939187095 245890284 770124735 421936059 748712123 161659110 101271393 968745178 835387722 930644424 336314544 391210751 271567987 757810290 311678652 720388764 670144369 111807834 953535081 381209621 618615515 525247752 258654964 300915164 737451417 194994021 457685698 441156679 808269761 185905122 986069301 782799777 320292940 393760434 116758098 168810682 222183163 615657773 707656699 898997471 580925856 977266407 288940527 880530496 727498061 769644107 542327107 977291246 923444984 643006091 511800077 330062708 626694143 907528810 970738252 956216769 683510093 279443044 905886564 317144512 334011523 616525634 352147062 368209233 347941853 419381205 991523580 121575894 314267897 216254120 560932909 362519738 992240000 602511704 136910280 489327889 346351847 448951910 638568527 204799931 106831987 705231400 816240716 123971109 660674632 893051831 692890663 878651514 157544468 498102908 113717422 961144132 167595575 691579124 766336082 810348214 296294450 290963604 453745470 795015938 484594534 741110355 604268758 158571119 744185652 245403096 982436668 366912949 880731096 941389775 568747503 490614892 212131441 951945976 104804321 776801306 491907242 176480763 405176237 600756678 187569279 992126269 189979452 260269364 572069567 540645414 265999260 363772512 113085301 211750371 344844352 878658671 879511566 491519324 656919672 914073105 570388424 385057051 577886806 242147635 178105937 684163234 898236867 594918554 859220066 940207726 465559268 510914382 896973087 128546826 171564045 498983415 891007354 599227036 699453809 534239391 577862268 230226738 846622000 873670474 831126487 579143284 966866230 247538266 906932659 659915662 792951215 565104805 189436075 102710576 450747880 768856311 619123395 348170517 704809752 944181768 303361965 835625611 142473282 824154419 543881804 480321964 405217683 644631672 938052126 123956075 914218834 314578431 983947059 579664522 974093082 109189792 161833544 886944158 657378503 187759529 133088792 382890076 623945073 113082297 839287492 998578641 126789119 748602733 307543048 834699016 336426561 257740822 726918019 389504701 114279239 390361485 847776455 275170225 228356077 622562542 309146255 182561481 932645217 587635795 379316060 386215535 792653604 268121991 552472301 372039038 787825165 410292460 196908591 959853309 251733234 714839414 757245125 998870632 639103759 730734080 328326980 230388445 552973132 218296707 205218382 699233389 138613785 107753715 668775995 868945073 240297493 867860780 577371908 897701585 136671135 727665467 720083142 921940911 326763039 254797376 258827748 584164765 856552767 275056668 905944732 844832190 563923904 625188857 143179820 410254420 985773747 290589793 151570500 636778595 975883646 305902520 739736099 147821796 592899643 632391083 502604367 115590338 522686780 306579350 441492069 490977291 837862314 959250757 829347328 696765772 104495697 189774785 110515438 556554146 586816201 189168917 779470629 612805659 827346247 619200090 611163736 866408254 569556850 765223460 411449157 792421213 162829559 655265959 279391463 794135844 647577427 199393074 172951370 763507371 298577033 502494797 276143719 344694317 299386143 732646401 887393073 785636560 765265219 980802474 138705385 476905082 594613700 488388187 955674823 339434555 767652455 480503730 971246610 879730304 461310305 214512679 989292395 736553646 296124289 949779833 111463110 947359847 187960183 861884064 326785057 683795351 522209302 841289430 204037745 143996384 789105304 828842573 680777689 444662267 152952727 725097476 868974689 111905636 811506758 151287070 748653231 655852317 525155839 209574371 171848987 340218500 543984395 869324042 401393426 378783300 930247744 588962032 490302765 450573850 330104552 397839100 515067797 547213835 166711121 833115387 936912435 265791851 361218153 237938840 981363143 400288289 993407635 422192172 702489870 875825473 404783070 731849647 554877297 306263090 637187420 714789497 752822143 643219092 703587328 351535606 106897033 345384958 301207568 850665773 458791994 385484546 664796998 410247505 105921317 183068219 886434480 971541219 418540702 513476510 666336163 985586189 916260547 249513805 105805273 389410424 456953016 867484032 801002689 275544236 983021857 795322035 158256163 371111454 710349819 277792168 195587845 200070190 724325789 593176553 555834204 517055335 331790004 770374496 156325992 656467182 419599496 202669216 115822838 289619011 301460927 810166697 229194663 926109715 769747307 620448766 818131178 871959622 632237101 662902440 495746139 241506456 230586430 601264779 326104881 605287923 741844088 144744205 438257782 906088033 521992051 849581222 806087112 496105744 219868584 658974611 517113389 590650734 430762257 928371466 347296116 510344945 381021837 476061443 888299791 555332417 388512636 576361427 769620990 695636624 920786476 848342048 627559728 499207377 694794807 877821795 399346288 599102043 447278615 755884733 510096649 304095896 277163535 934290300 762279470 440644443 101491934 410872153 850677919 358973878 915891466 674770492 776237810 282944985 146124067 166942530 441764101 771922247 762994978 632044027 961501135 288187793 399141966 480382403 993462598 404893305 673931000 939529286 758398456 868437103 591560331 581528895 738867720 265675503 207185873 653958939 598176048 998091005 818134739 359837560 921960092 124585755 894723430 358813041 861027337 225925048 537325526 966008027 222209905 204964623 548928196 957134086 883489208 854047125 773642383 371387217 717509926 416106580 526709178 846167755 538437560 835881527 679873419 237311016 843590763 919685827 401106958 218808963 316415014 941143610 823953483 897751183 111176829 443909063 753604316 209610898 699049137 964559244 363833894 871873700 806272858 210987341 523488030 628058441 564884047 191866125 404523554 405291533 256960799 944863176 632998550 862460451 580732488 151956591 304127143 975501644 540300263 107586583 652002060 631942376 839971904 139650442 346401797 782842377 198895099 607037895 755900672 506846114 130916324 334404614 663612839 502472825 923531696 413876694 264952596 387639562 997612802 520404763 213214902 734335669 992973097 735320519 205798580 823206832 532324840 679088876 619125561 639247176 462283310 956766761 678882152 783435692 653144118 890470448 880093081 557365305 139613113 106726975 758043943 422405094 747124932 274974894 454777748 937314332 888897178 411241561 813532143 776083030 159026112 557701032 533226036 423568740 451520084 449152193 747756885 200668744 929461156 636422137 145200862 631854712 796482961 292430458 430302676 877260097 127140790 105268576 497016708 518231381 776680808 767898352 307497896 426209893 325128841 460419641 556642833 983775958 265421721 641870766 244040630 297517909 929463579 833343673 593382846 118489416 464515793 657587648 845668639 803452942 566250936 743456025 318393827 866725203 772337314 629953186 686966761 694353801 825389431 837622027 997384461 567635841 451935740 177848860 507650319 357699153 491525377 195853023 253460475 227526458 645912359 974621347 289872502 844050171 381399375 656850089 724522789 634117586 308306917 244163221 759191577 508219421 747553210 280404979 918699594 155566577 546608604 370843858 874196844 853668085 374869061 260400668 740803292 272422215 676055417 507692254 275069887 702189376 536621717 850410635 661211598 511960667 659931689 856471316 200226736 691773078 580330190 383818966 175304920 306334432 189136006 117341579 418476749 748149117 548295384 809328429 292706884 394104243 329075257 840844354 685871280 119807809 317160129 855266641 380022787 912430706 962253666 653358318 928835171 806170347 256040755 107835008 487514858 981687631 206563647 560796862 759023479 144924008 771543166 595476668 251855946 760097030 512278506 931492214 669767845 296503850 825649241 743828868 714794552 836675982 315033044 306848078 279043325 740815272 104214957 398917640 709206904 534004221 114386119 481849136 478436644 411403880 385867243 378952707 418897260 953003322 498267432 769451512 216892491 847818697 584135188 567207540 232000862 670394939 510145311 301035398 332420874 931509877 619060348 589110331 653585280 477259139 586926657 392491002 905664972 984105606 569887889 608494694 281757576 132462651 136685601 102506525 552164807 104721974 908575801 459293398 286561780 384543166 596298302 353617264 695817382 545308739 148425964 986882079 324313608 862661916 881949780 961334971 832060395 150562970 805063416 991196241 214114358 118306582 877496009 637709575 671151241 128130539 408329422 560676724 511291230 746319469 112151589 397721282 145953084 492459287 222302949 431052631 288160699 698530737 657692853 873359565 328434954 390409360 694917179 106288255 913369688 897792978 948176391 291804630 191725085 780378927 854672351 370752611 639961240 136226873 114047165 566659703 425016623 230510895 598221125 551083382 907315033 897493473 575055791 128326502 209126590 842840896 140916689 262973433 484108893 100654303 494373459 722800589 273947417 543538687 210442711 209060542 424555762 582172637 847231578 554292204 730898082 537795071 937419631 695191243 164757500 982417326 549024709 807739227 870969024 212666789 315196170 450599427 321193005 929716711 290534169 333284864 817582847 173234705 337398756 931713690 286882713 995833921 357263866 183554110 737640295 742915706 668948060 975352626 760082577 857796741 864299940 396781341 714013195 644127742 933003091 872957501 530142754 904552864 843441269 976632460 814530007 648529859 378682266 865880626 271684801 424308912 613895744 434355707 817377519 456484526 753153892 920902016 505005338 975246703 958640152 845838307 301543361 203450132 151585876 425705955 941286038 657245675 542366975 587945629 157272467 656126953 477587821 405053774 662885047 598771896 945121949 373070477 882467929 681747398 204556422 751586306 131622381 147924585 209750060 221787252 609495080 347321084 585583412 158052149 867924022 742885565 953491799 786347938 919511250 483632195 429401869 855830986 307410327 255822730 151409017 298341773 259299758 454820928 620021093 191770356 605656708 183293113 752729261 837886391 561079005 733322858 988796236 616529039 383717100 850851654 569053467 346163756 621729439 662705830 918351035 744640809 944105661 840191141 315375713 102985380 316862397 134023346 229595066 585580486 481592625 497434123 130715293 218663022 778865105 397704669 440216198 731504139 891400230 981246504 188248607 616502895 774909870 286722377 665239425 465000382 859142862 163605732 168570311 290202153 930684414 921061881 602721187 290644396 318995650 186982416 118181576 112414749 581629510 883927488 658115986 475878140 530864450 272716626 612057243 685976824 566740872 939404758 842974022 377090337 628360841 872158463 445466194 947708323 334377834 169526012 396922849 407227032 833300099 203392822 450689409 821440615 814249759 893524645 185546634 780294708 809982104 154836342 322023838 703820696 166476702 966619498 141866424 227669546 101114405 690660860 347638681 863518444 917060008 313337942 212421565 541932091 578758870 220149249 537640371 381400925 261788672 732675826 663312063 285149548 483704041 777637661 987191713 424499748 998415786 240041417 873507815 170560954 653693890 427522562 687204171 962074970 881152513 771890556 368396606 514397833 599598043 134230405 919646901 178196596 261942381 220178836 177915461 748267624 114352295 653336159 145630147 551917393 838131158 941089480 775323974 241414280 366820420 119539596 991164395 141704890 869837119 811874306 516155490 333321315 960500287 511890180 988398364 934215660 291275701 354277193 517213823 771615476 262851373 435914740 953553591 831409044 247290356 953332986 204912012 175140901 376081339 273003206 433369428 676372542 761291950 704061130 335392008 671518195 789948791 419895833 776938364 591074913 675728913 897316349 105029640 164259785 210295047 937084255 682498664 315106595 230569692 697573389 797578231 875203181 745757964 641412917 428392176 103974290 502600974 333147838 109717894 890368106 530833578 828043649 546017839 780315768 807975688 821683706 323018748 245128739 337559601 725848954 294510868 687539901 181797059 672664798 498587801 632348618 124848699 378252503 809980746 832844876 360112943 845944970 970095470 647282388 117757344 797252763 303255507 202248201 748160343 416838789 829026808 152011361 222924476 563942449 608335989 287108381 876794320 870681666 256043657 940376024 368413120 645545773 103378576 523700154 808189082 413811346 910809648 910178063 256658539 135182070 263948606 789053827 863097573 747485150 248834605 316581515 769387917 258665877 602759052 749437469 413703012 513395046 833145646 762432268 560332520 689907899 617077355 616138329 914509346 385712830 393572034 268304035 633033644 881387582 449599536 821689013 170325363 865068049 924158560 550503713 609294963 804476585 375577676 134674003 551851282 212493326 310577142 763507059 478648506 863211770 526062774 937951498 914961212 715914699 393951762 129853348 378999679 527926139 712199148 244656298 342121659 938589042 551222123 292790931 750248698 143651357 515665272 555019247 838156861 184883442 571197271 277417635 141377017 117859199 817285623 696261090 727993768 665194675 700765117 344831986 689201749 746063242 971969256 600180775 494832746 224297804 115971781 196422326 265820032 924738268 252576678 721814803 374878521 614195889 328391893 987197354 416876016 107700992 523075683 386073993 125045222 100296582 127346537 354032862 687367626 225240789 222301347 817651009 192589990 240701222 878804796 662827317 207003958 286089310 706758691 482935812 477044885 326428655 973316881 192839499 117934949 826507298 578351365 499204964 555674309 554035513 294412957 101958780 775023053 748565061 154669919 608532872 727992733 116975301 650337760 184069337 768860038 831820436 698627439 210318296 534646109 220907084 284856159 831037907 723076659 493599356 314899442 622055663 148786484 600289131 281849006 298519624 199470779 521440412 878059585 818108038 123205869 905780227 582966075 190588701 496161528 295869857 488699578 829807900 133621409 305867351 811653933 793910300 750252618 695525518 433161650 751226731 749327315 514350564 782858420 245315389 565568304 265765228 180079798 989028299 253153642 532370776 273345962 157160187 484910184 155543313 684729740 521004425 724039879 199766094 689403558 119533489 732503083 303995524 576115109 278590048 812659678 507856555 143392657 103543085 111674983 226882381 980845202 189794693 195908114 123929656 129220856 874408102 793432624 423589417 714585144 863598278 635727141 939192760 480011234 347694933 956917219 515953039 210060338 542001176 476461722 245841780 869471246 828301469 975184051 909386782 219207158 954711218 498757073 549407641 812723276 550878035 105865348 939959496 311800447 175969475 744230189 884878459 198749355 158158420 548140944 356059184 287624939 660605685 668416911 784888221 543618134 365736243 310173227 755932006 153713830 704722778 902324286 672255476 453630398 990470598 799782680 445277186 341582071 464985691 111687265 294517626 445864533 485197811 425615067 688669643 466353286 665990085 130751319 366608570 609245430 658934088 559327312 583480835 691141413 584042355 873154115 233367379 361559817 543852178 870535319 113878679 534740169 263891463 929678605 753902570 346982226 752860978 607404927 671458642 333852473 993275001 388867535 728263031 844804235 502267955 634279869 703341181 649089221 134260361 369325397 684319405 133060864 927628439 605839998 650481034 250283904 746103588 376757600 270210353 610742159 796854678 652752161 596158589 829963841 298634189 485087221 522917676 567650264 328739643 162137113 107656596 928196579 847121036 567851237 645881594 362806552 233956056 617400046 219332499 103657205 956980097 789398699 855473147 330936426 613627504 562097180 853286398 108245312 933687476 486953915 395441338 799115369 123148324 670283266 656480066 914746598 771816094 846232521 653107823 987315969 571495794 304590488 574468029 446426462 145663549 541907751 480510793 643263363 238774166 194560754 911602430 299038476 411575045 829413584 717263502 642699442 227356919 648624139 644369612 881304593 836686309 587954320 129973900 289117969 654225529 910867435 406643321 421854731 162129242 884629235 348512293 822782190 848440981 844364283 719425752 900159805 325185870 329695011 458243156 975796958 692224195 731476764 963658432 443509004 872394316 403998464 583816886 586976617 444013755 215638756 463182345 525810558 553644504 601304625 665745802 298055610 758016145 980467933 694813120 703555198 121147896 877145380 987824047 379962086 137369697 511995213 597094999 346575892 842956265 990505730 855235310 969614109 767302346 484049858 828116275 390312930 931473777 571858550 485792859 127831133 716889415 122681893 264861844 427727108 280990900 804769007 136109609 554118976 821710255 260988290 325507548 734297370 410001074 786698240 497502035 589633904 355791414 235496678 510585253 813024679 788532585 561465481 413227857 792132967 501582326 788698740 184757077 940357037 793407720 902140106 279114960 796607153 610571478 976836450 170745281 303366089 574405887 726130617 826808914 332817283 878691940 885616293 123975118 105383094 484767341 822622496 825662647 381276751 133430695 377237572 902537978 699701178 493838904 914565123 292447441 847818728 925391842 818482692 213906924 970769537 867817372 687687626 848139626 318233186 394861995 891024350 114452665 251702708 888829672 353113050 352604207 801728220 392187786 771725633 296417775 516757305 489709723 975999768 840704963 509109353 945765710 710454050 819523799 322107166 921207979 497367059 631694765 884613428 564573662 433896047 903341096 598435944 829397863 639326151 960507125 988498456 360603019 528084039 590921291 344217258 779087510 934214510 563942625 778264832 238386180 514072552 950653015 491082683 688036936 131601012 870798966 318238095 987254580 827411985 398723755 662850108 228091438 348196602 620174933 215410965 950011179 220717756 232455333 369022424 709184183 483194597 696299744 744547573 357686713 575268662 367187632 748216830 502568667 183147675 658884845 146507400 717250207 363817586 838861079 939540999 796225690 554745720 727225447 270246889 528934367 191957751 786206384 970013039 644687442 515093388 661515117 294640044 749482663 545910612 965274500 873216437 243330173 839203709 274974667 791757753 508225863 165537692 365924516 420507191 213715871 708390220 329687100 335926891 258422806 808525445 795623392 694935539 298858070 246260489 839280400 943847941 600986609 431379995 837980859 654696754 573475557 641632201 365376329 489716878 122176416 169858388 781919078 943537308 849303786 750843832 258909721 124632641 367449335 616377267 169610919 179938522 149228467 437406113 335192637 306019730 309253812 894202946 623031768 366978141 490354238 982087624 643489031 796947761 279706831 106713568 485946137 618383396 463391095 231518177 940087947 861557782 309036183 666587211 169236145 259308899 726617184 989255304 279610028 899422802 432566107 958402710 216889071 915826019 257054598 266676376 889676255 768845727 396513793 416190030 926349166 505659936 234377947 228286818 893274555 127341037 896857645 860132650 516058750 148200446 675234105 532129435 873467840 776266108 842708156 338380381 277878304 296174957 248846361 277654119 908679805 119718514 869158010 263387216 139685023 162020148 605278002 970096022 798382781 442640875 412420246 916760395 578539167 773215890 142322740 691911720 562965553 297170005 924736897 515101525 880402050 791956369 211275554 647959462 480090452 919071934 483629650 929764479 848989351 638482165 170596503 399232466 667728337 552884751 814661641 434082612 886253821 708458609 494011214 298228828 481672626 199169422 693450409 856607901 756375622 919462332 177761932 559218941 508994413 130471291 178120377 408919494 234643441 403803759 700070929 920606939 357292790 334635861 460998098 487069160 735605346 653133313 718418549 674289168 592784547 642818365 278771837 214018557 502967709 751176109 121643013 120730689 146614958 585937857 858695394 715578555 589048279 470860470 310120660 137681756 278111678 382580268 966379206 448779833 862169896 708760673 726792649 707438060 477010649 598349348 579766533 392992995 902974183 771047870 345347116 315425445 222869568 309660918 410868910 975421944 581699125 759288177 837442189 990026024 730061526 597984288 323175729 313004108 914053862 752727688 751600316 922117183 742317868 993486585 298177046 157511463 975867330 134101371 537448266 480881465 671254619 748152483 423629101 824583869 944574554 476462676 630779416 610533788 564760719 516058941 816722792 134775044 316794756 635892084 210559497 934507097 238142217 270999245 817167725 899094856 909501023 321738705 124146850 480414658 683394187 508812787 222696358 474528031 543359182 369571180 494825319 451658703 602236083 864320336 894967320 276591707 559926991 188419944 559450488 745796624 118095084 151429226 954537140 656281932 690541507 784601767 218209793 131073300 964901583 231781668 441404695 386541203 897296637 572213027 934680658 889117469 234768416 591661005 978526917 101220171 759415270 356514712 278403051 191762808 369176619 412171888 765507652 419044619 859344867 831838484 798803598 422324754 267575225 147343628 376190282 715098687 174232372 482515011 590713002 711150407 817422497 266223597 924386810 837223167 760380069 800014914 418004397 288129452 720778674 774236708 434165836 741063194 453714555 653949157 181384663 315049414 334619521 991588065 436470656 563994638 731330612 744990966 126812659 813758240 990220120 939008485 269299933 376739336 250862219 534305276 273686980 187486567 137594027 175148264 135319794 998495245 294280331 930972512 890000686 363591655 617467582 931711916 484101827 612435413 653914816 308287905 246663720 358706473 621523181 109988972 708910504 232056210 526746983 535028125 847336107 377046408 690309716 538386900 948486454 472749167 428636763 741358734 480399392 688887933 800869001 186486104 994551005 530229642 437170284 276990601 654485232 270768765 514354545 888482522 157217605 464665351 776039093 275222529 220840211 425108224 614059663 811272210 769476565 344288057 176235607 530822474 861753802 952311258 144143028 578202363 397464995 167290731 848498161 554663524 300556993 676500337 775638515 152200238 308595197 465438966 214112888 197797331 125382551 387078913 939175235 139326729 786508048 689747006 870446385 704195126 212695478 554798889 483324951 984467960 969715279 558939672 990688926 901362176 290079841 572801737 393895293 909121499 217669413 775833345 241071632 803236240 961143536 719632308 181278938 514342374 287504665 792052505 591076395 898942653 709518629 811019127 152604632 268482306 665531500 199605283 185851997 561804829 548688178 107782582 103263083 630283940 685044173 663682576 903006554 701084874 308949899 950861584 938595659 119697214 147082223 453870774 965213034 823050193 305739035 738824321 616504451 156235030 596993985 948363617 349825744 155938404 634655058 909713525 421843707 487804512 290586702 135056747 812643207 622892251 758216769 934650284 988065832 222465268 972720349 237969263 562431458 542250960 787804728 351828920 770147374 129344467 672382369 101615679 637791085 100909429 540663815 246370782 726753226 201101367 977389547 989735310 983025148 856824897 566784439 396505381 311035980 276799910 752465117 138868070 318560094 349754680 450448863 978028001 327401943 359590687 356050097 194865304 400743619 696086084 940074265 574145653 128627624 323730934 648224067 563608446 329218755 240983639 137505085 543646015 104998740 400854053 234436575 171227708 508664921 175158185 558267919 979331047 236302755 345221600 903065164 140656302 191983776 263449091 504965830 264183985 948630968 131115738 112957902 763888525 458693825 371290202 711689071 104328793 420931400 771014965 277985768 320591689 199470755 458283021 256851971 303511931 918425401 765270754 771068599 476696982 721771050 978827592 964781186 219661074 436378257 560659939 345143700 852455843 743967663 949373443 344761994 321952710 463345101 735043093 351655169 548864452 638301765 109044312 126029173 405942723 150082063 972783273 904709487 351889274 477691076 982046177 963919362 517621702 831371532 806691172 806930822 686352115 383596421 512005325 141124072 299901908 895447750 118171325 795898398 154721778 732121096 366176333 312894172 575167800 513237700 621080371 834887076 458338069 288579253 615776224 668605354 577325020 386203158 982190246 739144981 388221710 155571126 293783115 784103208 242395913 896327153 145132065 976400531 920547701 717521699 694247989 628319700 157522868 562629871 663939279 980549369 215203661 266847586 918387530 892022447 305677836 411961817 690934156 383896199 813828405 820221692 847276161 497882094 844765714 776801204 489775195 254618729 616248201 887913825 226356676 926391597 983932877 346608659 562223978 220569238 633706813 308760863 452423892 981199727 320637570 586082720 502509874 432729897 180008990 893065422 341267147 189977419 441949136 463180146 165805635 546483844 773683049 650243891 465899836 374150175 428818632 200738024 475727563 832454434 479054100 965055189 606332010 340023117 286624141 623832736 855272933 692296655 519332027 661480318 128776902 945410637 537923925 904944966 866196084 171490043 721470685 420030060 267677231 570890928 462415283 670603291 110745089 513317279 340928484 364343592 250296489 879212486 383977586 805201611 667786114 634809795 279966725 254515814 583703141 768166248 983938910 673722396 623671610 821405264 140781270 202334582 116683908 578064926 607970290 457075839 226619691 641123317 641276832 629044005 489247297 366375741 361948222 725017731 218071381 998434164 523556115 759259105 936688116 409678259 147511914 760881005 317941444 169025296 830338045 187417525 298580268 182446030 234334780 307984127 145846392 283679608 857612241 138411121 559855814 703790827 742146240 984192999 596213248 125400089 141223513 914547172 389918311 841535828 877716312 766275192 535556598 863337012 570667494 327541846 804537018 657490278 887728178 934991850 321176579 788002205 750982810 114030421 614845972 917318355 508096848 616836070 797865648 578127144 181871193 811918849 117088697 592744142 737763198 818279135 964199293 666914036 227070784 623924376 949747579 846856621 352900899 218369513 954528852 616802731 805263752 233663048 893864058 642278220 663974195 253385344 661147502 763513705 869185261 698353588 926377951 522349781 487193758 232464564 502845543 498632537 200230383 518974354 325886442 562778076 421917437 297610980 777612070 700620659 828519522 777738636 105195665 384564685 937041428 689032658 615171566 251043352 622362719 288371477 991265607 254378714 462557125 373224391 468459183 782653262 912449523 232197914 666267917 128788925 607925500 538797805 493749642 227519209 974844995 911208806 751288043 496236833 355672687 356197768 139193788 316621373 672144920 785855008 604128722 274889868 981849625 761795393 745402255 692291546 936160245 265788036 986767226 229828040 409075439 334201406 688477799 760304354 591511254 380919614 828591350 834420221 988697516 503563577 522084155 522750652 547637936 974220447 351391596 381660891 789969405 544915011 157493850 705346838 440432446 430865544 257896718 355375747 445861085 230086034 997570626 308245000 963021766 279764348 805960732 707277744 533330699 720422818 327163661 791397525 778164194 536661653 691100506 217807364 149783147 295051848 236621388 113770165 165217251 966788140 887876165 429378039 570910449 205395943 619906333 407144274 789279484 382688600 714986706 737425756 611582853 860197933 269107874 484264377 584944307 815349244 435082228 327424658 629431081 955341863 746801494 983959846 879032115 144682659 426623973 213431062 960125514 592462277 667657688 466570486 547859897 866373097 995732749 512859248 656888581 722187277 312545544 893892320 997414764 594337399 670838530 343220275 630379238 985852787 938875393 295139830 215449068 434517869 168274726 820948492 523358183 526512771 266888382 415955781 592815642 976002959 282322038 751123451 133416304 320142611 483228364 353266912 459795587 527737027 728710334 544774275 325496152 628837742 892557266 350785447 878418404 951820361 254318032 593284745 818762331 599086186 671890213 220070737 188279038 804983157 138048293 168029577 996639027 656463075 417978366 949031544 742976814 409542172 688708564 344447234 803990856 331148638 579600905 100067961 133999253 676115927 777095763 890806306 840253465 336370205 299785620 142024965 277436572 397827729 973909408 407352060 742813259 890554201 516138277 378754363 186061762 263285571 220002804 132783399 566732799 308043198 791794407 877568731 442773127 262502730 324257109 756019888 503125504 424805069 882856341 407624469 168841004 896383879 569345304 676729538 570615733 504490649 198860637 855373629 432048712 835511798 764707840 443083498 815198933 190818066 935594774 306031860 384815644 411407484 404275996 306854494 365336415 463085992 235406715 720296996 916674121 629114449 511979715 869270141 959746801 511714038 637004770 567978271 841233769 175550354 256536919 163065218 246779286 494497591 375417587 433443402 272490387 511839799 506316968 860876432 298621068 193551795 857059721 183016284 311705901 803546562 334392117 741195949 612159163 436242345 147464813 439977162 829717566 142793690 850283960 218505782 905822060 716944098 806769285 294250487 526545437 569415500 430679349 486285123 937802857 550207093 859156780 324385846 918897166 363636663 890698586 679684229 373739749 619712216 670981203 532972499 853873016 799292487 272951035 767154781 989398116 310302570 931665306 354318995 925226736 365663919 723169973 158669298 890964134 897366659 527718016 416633644 350528282 753930291 761115486 267593484 797451422 997681079 823893053 330179365 889691518 762954424 583185789 590249697 475196388 774118813 402728262 250166997 158451207 537203592 769470584 587164049 884867627 773992999 651896547 681276760 184434909 432485379 774103677 798160195 193680398 190965084 108222335 167888642 499891914 950065627 685290234 188156877 859039637 118841438 855283205 393473770 597723635 536327412 823605412 417859047 788630468 992147956 997113449 851179655 612680530 289186132 387016554 410953785 642037440 115833136 734930430 184469718 866857665 143307010 820043948 700410901 583649592 893083739 557556710 800293445 299046840 990243179 296683527 457275080 706466655 282220333 974459633 123745844 982996151 265673015 891974480 339504983 290909493 244738465 400933688 924610632 977297579 401496980 497486781 164417718 998955198 355375025 326769616 809138497 214108691 686439561 119556921 713156284 674058193 625141679 753354169 457144983 457530402 795909253 458884998 156965807 479097546 998721649 961943292 482564514 559580933 564808024 150710041 786176101 154556122 206840697 909509359 430163672 688357805 889833467 734230406 180180429 542868360 712246258 620475433 339631862 496130520 985364231 474400047 809168157 579193948 811607939 473913149 391708689 724241819 220381486 467914560 683769477 443623841 585322069 168933721 517533635 230590657 190065404 520363612 835959502 755404180 343017508 730574220 737461863 496008338 774854469 801327015 622665266 166245703 591646067 322231118 978756103 297534528 738804762 820144914 362443190 802460110 129410114 361445977 651440857 669747682 763176201 115897934 332869376 787255513 808012603 359773443 125425485 521477370 350559709 933475805 558592712 433211310 804188230 947913464 399141668 501988154 885855775 447062975 647639518 300442672 226223944 923361032 317228578 509574937 770291112 890154662 803686145 205613770 197630083 811746354 491556056 782402685 145429031 755764910 395705115 612888333 569560130 626369347 111359148 375222627 191262626 620825090 469407690 518342763 670213447 942991127 428827290 509668870 509487936 263970882 791327140 876406183 256991914 529962383 196825915 659128169 467882139 290282956 705360640 263829323 372655868 403688785 807719848 739763977 212255502 100126403 992939984 163317833 637001397 909700522 288365526 112002164 521121025 974145287 289806602 664465984 597414958 609364121 785115844 942150310 735217823 911906747 869013040 245520047 977858181 691486795 233295987 376229536 302330463 721065201 458128948 222116875 922052993 919541207 167369356 589264369 230203852 792584819 591855835 236088604 508348520 541404035 343499793 536442297 493377995 588559834 498451307 139933376 917346067 720052916 367304870 938044574 208729795 108373425 255669773 379468379 747561375 864121091 591096058 540905244 834608056 606996210 795061370 953517051 452190784 446923184 838575828 823456832 510572171 785377202 629604432 291130225 106056574 331156876 545193633 615037744 566264826 223021102 321585989 396154749 249808817 891179587 316476491 740478418 498343812 494237161 351234229 728687659 348199261 176975503 276135941 403037014 644585401 305579522 340534797 484120590 684491425 146413773 661698932 921905938 142915909 598143009 173241679 430305551 700712905 543141289 452007043 689266464 902349813 421411266 792435327 593105974 877663304 431862689 917083354 689047166 525154415 926805531 655752724 814442915 706025847 301223410 227515623 593139400 241212116 488933010 253846689 122546810 549307186 479498983 851084930 200165746 898583580 658436946 940700780 879057368 382749873 261716491 788958597 100302705 115235177 333823008 754624394 123510118 414002140 100544409 319266683 638985919 814278660 142789470 792494660 275313017 473242273 414011341 147875078 713508060 200912132 148154880 981566956 678827421 812568623 347463287 710535453 772905143 477421034 720961296 924672286 196601824 385031096 293873279 918670605 599754162 716577936 164026501 561112276 715837585 551069991 740136711 154437291 114441182 515755400 704085992 716370356 768129712 702296983 914893950 868066981 146342048 109207746 584645309 301179365 896540010 797203042 361222773 506289314 241667503 630235445 684018280 557868061 913760614 988213762 864752597 243688643 353517949 182989719 652766632 505574653 697645848 884798691 692462794 801408111 616750932 908121163 987904602 352170261 613359852 555217846 370339417 827806174 610389361 112212077 143565619 117247904 622467843 781066341 830992632 484868977 973919879 572648303 691366069 311288901 775351504 423231469 641755497 426850736 258653538 804537530 177934749 638391762 597853357 493097302 564048390 498045552 566825104 141718457 760468080 730147186 883978164 159261388 991759486 871364367 670172289 674553806 302405403 623986469 752728408 183481913 899267329 844859807 562096305 677291084 510965010 535051176 845823414 515815144 199516065 361032947 195709091 633890417 171991787 443297933 854171104 594612621 792891162 700091147 987535878 828376077 370969050 751320415 781494616 168196020 475054212 422460653 490354774 677411193 280381229 367775647 838864732 984505884 755723696 582674592 197963685 194969150 604359192 892332311 141930931 409079283 526912403 928677168 332075652 539027219 924418209 432512478 487934775 124264715 656891347 648621589 378572613 613810603 362877399 971206319 579083925 837355869 963094987 580682448 293814954 407835628 172846512 598464437 555629284 672307410 341484753 894977953 795709903 419038851 923275312 153279029 584965818 814278137 962192690 320383895 203307179 303159213 667039506 762547832 773929684 478012373 128178055 932700526 278351900 278098352 772203327 397220091 465038984 355830821 251520224 839015358 688471288 159063843 696645427 326028596 823375982 189598308 799323817 827105881 146106804 322772614 444402023 959221147 668633053 261310012 637969657 154483123 943639138 284848254 565585013 335476217 512845240 409345202 395534980 861145077 703992934 937170067 144563706 698395622 704928133 365334836 556323143 299291878 249792407 222595973 852063999 924676624 575494693 695662595 539146552 674387079 920193718 132698394 650164447 501032794 552369731 273057611 727237788 335584018 282057244 190765028 983680010 733765554 785275515 615934764 656333331 161232313 391472707 194058842 847440189 105164915 252851489 255166173 122302493 388895553 154934147 255933836 306965792 515397885 313699141 381486789 429282474 588299984 787008916 610156081 274771491 140706857 137008335 273729300 101886522 120265912 541417258 497823712 999218673 242125850 717938452 172935024 440060615 336093884 889481288 663280168 763185096 240311868 344243362 503961057 987197012 888652765 354457749 640156266 828097857 770517484 267352218 830963731 535224069 566902965 205683188 530772722 383787802 255689803 653035495 673614269 175264146 755048255 417414750 475541082 818755331 110163679 274107947 323086806 910391051 517679216 703506653 404227212 337334204 732369917 801270147 649839762 166873962 697208952 855690907 863958079 999729137 915549500 714627996 707306532 314426478 780019113 288537743 633167653 904257236 792930557 468030898 635538112 946319098 457251786 606798072 632231654 996631931 256475421 877193707 222461343 636763239 346658670 359421652 384709467 305361699 719034584 246589298 787968972 807020498 854990767 811822288 250203426 695290154 716375542 610061393 284881862 838745931 772486369 528756140 914252079 762111780 677160645 917188569 953482215 996043754 184744134 780202359 399760140 105078490 682454553 148091721 948794207 372390099 987403260 330891328 945370012 926997905 967173225 142873126 151975828 724617209 408654347 166203470 795773449 297114479 736906675 920835744 861136850 749703994 524920684 561580836 130638974 323086677 329364709 747985598 424421442 708031588 440385146 668377311 945610702 927450787 575182328 562091731 382053551 564618313 544696154 109571974 685633182 244383039 746390728 570513076 894034489 803344470 806331119 650683159 753551488 157286765 232020911 834551036 606285009 302636233 270961200 297466713 763020185 802211285 195917720 259943105 950205707 838455363 857319497 303721885 799901923 864385495 412372210 650173011 404664856 483714244 240728926 704977233 275516553 341243724 146661571 443459879 313575403 759493303 200059547 872171638 780811625 664679449 485920030 835046913 897741655 792109610 449170552 715752077 760116184 381140044 691115970 558634158 140042807 296013211 588351326 777418889 998854872 742485400 382636873 621032272 803834017 756108723 425200955 848049378 736097013 495565136 531038458 798994112 876153638 111481945 804222592 545100880 316143756 345236727 103066220 557842968 117005575 511994991 327967784 413736029 623632899 234642830 967024840 209439796 916210143 947961523 153153882 737155184 687370768 536775225 982744898 490674344 702317740 890805291 317867805 566166647 456704852 594953028 232704645 272855771 105305179 608060579 246028345 344239943 172033445 676029146 370222543 309399404 325281330 490501072 749741426 916273318 263479449 555723145 150151367 909310094 444078779 824022008 397098507 193103481 392767352 194933861 804138707 445527472 659598946 335931792 393826490 828600212 518128679 559935368 668147144 466506322 440573859 315680535 375100304 459663597 841633848 370367392 619848341 293840968 135923605 147215030 829515799 537195322 401653248 129780524 322559989 744449832 349093141 561573181 802409590 864866561 767645660 174022591 384071166 154979647 552302641 233443516 927965214 230860687 252349376 698383465 873744482 831597459 771253343 232426626 765532283 142955617 541367873 774004242 925090480 561687627 314397342 195562513 652145693 978113249 218218046 394930265 272540161 541122998 640559812 598765787 649648576 131650371 968631663 873679677 446380247 964717587 241245427 398083813 195374188 246290886 479740074 734672038 669715883 393041832 582347787 990833881 347188904 570341471 787431803 442560616 796927813 106731657 289980181 864547267 563949119 478947978 314478471 339150675 709371676 872939318 884435911 668938295 398323272 335016949 106653437 525553349 709986265 861591003 281698219 142716705 653025188 558882677 688204707 823389788 125425387 836935140 182554891 621420723 988355918 548181049 785692683 655480678 168648116 134549750 187820199 923719647 986247292 791120822 166268973 874875200 522156340 908626890 833353159 759506939 154929090 571696863 665595075 303987878 953727032 402252606 375687040 729746281 385925637 523033797 474208139 927346648 816297469 722413732 530821950 966396853 797570666 556319920 255487167 989250912 740287780 523325417 965075671 881654063 993379159 495232093 946894130 905117693 338397773 544033370 674968950 842158563 388814744 885074162 911109621 109697623 686450151 661300231 400108374 985558163 682562901 450244611 961450156 884365961 628279754 319599022 355366551 918759115 510578880 471811537 240852302 873994565 465486425 271027701 773994777 135731625 352230651 468770260 608657616 503546146 253739897 550347501 130968436 574380007 133972552 422797291 973595134 707894834 366903190 696769811 196259773 745004832 684189717 273081906 760923357 125625461 530305662 815219826 245829394 875157984 123187128 694039013 823056400 490651717 991996960 258189808 963552640 741524416 229342396 306445545 897316483 482087859 999885920 873903194 324820204 300458280 166920660 965394355 914745106 490729806 941252047 806064734 128877698 756131080 444344640 634253331 241915090 808323557 653144691 474195783 664884600 555965661 514174799 852989802 272917213 185033866 597764209 884994969 811885889 314529230 421099789 474424970 207620860 543184605 464997636 751450286 751685171 365175706 680153826 306392559 850858246 698319697 371135169 912305890 219958930 270402602 711886535 586625878 389687657 885173121 922706450 818516768 408195421 677170333 176666651 445545961 605595327 397478430 622195284 253082831 863607550 420885241 976764550 669026264 405079138 688008860 610461605 891030345 868680776 734492037 300359366 698409280 824072210 755576252 338231163 922638701 691874558 170316805 614952326 788059269 390852138 542549373 971088046 574930740 444740905 598362325 855793528 487196478 975551696 466488521 234335822 576224604 173132748 354670439 409637030 633723095 512619136 763336867 609517928 836748795 141904534 373184910 656109001 220828402 439568956 470448759 349804492 790522700 535217791 837122880 164848562 220452201 528278414 377671411 116375059 464991641 219410959 194977759 809058596 376245588 495663173 502201925 900571873 992020922 366331420 876291348 252284877 244527051 756314267 623644762 364375817 348170813 999468410 854740319 916931869 965426831 894169116 489680049 859196926 391514367 771422043 717214374 804430809 915597714 240479720 367772068 362044122 907802267 762687872 652027982 539791078 811399210 394196575 524057283 516850943 356653138 769581620 520424616 913825441 579797137 314814899 132238366 325537274 671705561 971211471 664506009 605197684 550592385 961685740 636584891 329110733 264600147 529471604 551067501 823961984 130038116 861467648 500782502 161316355 210089594 647121267 129409152 581949802 514885870 137055558 992100038 636748960 958160586 948913700 432029048 899099745 164911183 190310124 794256125 116977220 241657440 644012451 987549749 325950060 855376045 491572325 285833757 911012731 347268725 497628581 870278859 658715766 394881346 716612839 159250782 616111069 472400973 394731440 771079199 575363127 251245695 488584836 851959513 696757247 478241092 813074359 251878166 995424924 964484381 500975303 589996001 495800903 191145761 630595596 397440846 401575524 799583950 215233116 148903281 360368576 206052394 394761458 782312421 394420126 829913990 837264389 552129549 903038884 677278093 752789422 814558712 438942554 659314195 167942949 468909384 780027334 403150565 930261796 558331185 875467507 898046991 294573183 943973107 201861338 576041349 284132664 423151851 290468356 197655696 407917654 354242133 748199301 688975650 785640523 635340153 488821712 492968748 422484650 608455238 475486777 887665952 819871244 366081507 452956205 300104438 512284164 451511359 843936131 567750351 567144945 616810887 588679154 209377525 931185434 337666863 182913988 709569854 726338203 313879085 825529759 805384124 561603977 349022163 932922578 902216658 397211399 215055274 674474353 284321443 305719223 689309682 637283271 468835880 472790818 984006756 202672929 516708902 655917109 870128632 996273840 242346346 516489781 282515487 366448146 451535319 413114446 690644905 907004396 433820934 450903070 915184043 766537129 559798542 136478350 273545329 943991195 371141367 318764918 208687150 741521680 445381990 154792584 317177186 861406131 810433533 345358977 123423887 309161000 375946378 819475934 450023911 479371480 749571963 938556230 781195827 713984005 607346515 628079432 387582639 223677542 610259743 502643035 887693811 128273032 622852659 283042495 738081214 960723260 168117795 627926670 443278780 532321570 925762108 438550645 624759110 357090316 171232397 272415326 486990794 833019946 820952918 794560552 900287694 302895780 945091456 424302840 680468427 385577502 769852829 831822993 931945412 515147258 365246839 558523267 679035489 655680341 135679707 274188712 143870375 897842029 671549287 348564350 548221786 122327405 376207341 928158427 274193468 245519492 974493710 687892392 121866667 924107534 328653101 955316827 546094892 372544849 755339969 161221006 534637485 652846271 661971799 532394613 170630385 133445098 378548827 249069457 435503053 631788312 844705064 826957708 510737839 311470507 992208896 451963169 564440723 875553916 945933089 306282483 291597106 699392759 723626788 771601994 629839637 781933441 371313335 819115827 687103128 953865047 872221917 694261439 264072499 681574198 384748454 228189089 205009354 265584814 894078200 640495379 919358210 991372153 505224893 344651705 731746030 689354584 227966173 726378008 423129254 895988420 663490356 425749221 624967584 628332171 389384883 694594620 711931674 428970389 520133224 577439120 407200845 901296055 112184419 205563965 617506076 687513936 129327831 727907873 104778969 791945136 831189836 681726441 171650068 836190000 858294746 256821750 363677935 780818619 816487651 868115979 340285228 208669102 360467883 152853217 945075781 116870081 738722280 524858411 689040539 707102508 154470926 965520385 163173911 838288430 799647717 684346348 458345616 638461902 615867453 885044688 758062662 910446330 721410110 325685848 756680399 847018468 215280427 593577918 484345063 702912432 805887484 457323847 416780250 584308694 131822797 248524060 474274593 837774724 840641085 842033380 772434463 640144810 663855139 337422013 939398707 220097737 476854575 602704439 139791060 466623141 833427911 624880435 674469220 985593808 850001708 247224977 302691610 464109561 875080336 203068105 418371629 513006239 529083284 352102448 253374992 847537142 371604386 784470269 895877564 317578778 206216810 571028462 963913856 370525799 568478429 534850993 720208047 398355088 350447726 583222812 775322218 352456847 744382614 121608166 976282110 847042245 377522543 391950760 171944445 499952454 263309886 880044967 222420572 790123500 581058873 962814211 101564742 963541815 302262766 796428075 759383431 727396436 938636475 725452091 506524555 520282419 346023360 634793785 370573535 318363998 771195083 718589394 303202706 844828454 378565100 704748260 296834741 560770871 507003012 646860824 280449408 967779296 398747868 125607223 288846055 517251872 935859467 323689056 944945147 907905232 270460390 814300405 849144194 913949239 345405615 746988184 739729935 763043672 563368934 834156557 545701299 630212486 120379951 281745955 124116006 486319384 576837389 474678327 801546640 480729197 852800145 686039538 600995214 719562598 566269938 993619246 573980294 853713708 292078779 431454070 470161161 192027043 708156366 471968013 991491016 108235787 667707176 179848700 401698417 792336481 396859481 938110624 629451827 327534162 410482811 493274299 164943165 556586460 417811231 952441412 521599733 471963407 185266329 529326369 618181244 647356641 251097864 656211301 536665622 139608689 346416570 901491871 124589150 758951026 786953722 711062364 429637566 390683476 831866608 132658145 112393648 894771861 649639214 455623825 125284759 164756105 211905251 715246069 282173466 857060583 742388687 284007923 435815921 806830238 414352199 343820615 117827771 870518885 474126385 864194204 666092422 930577688 361674262 545152560 833128599 585901708 140401965 506700612 974997231 307129097 156202243 585480060 445593698 370678715 527352970 162193532 521089462 864183797 306356524 388340619 918371235 140687911 433986446 154128638 172136260 552068673 121078584 693210584 745561220 862663811 912276881 264887490 103753169 574704168 917427135 631393698 196495279 856427726 627306697 747198011 977779975 459959847 504768590 679143263 534911209 976644871 552027445 977525381 706495914 106461431 659320752 857891935 334679686 393497199 953169254 535065287 126728341 622374477 846997837 466819545 585710081 516375814 767473795 227233054 229017843 237240056 721036131 487731267 342515697 237048668 749725694 818715501 872550618 828400409 962109084 139367320 536051956 616680846 671421509 525988080 698923514 561617844 449759837 958301727 651363890 530691398 804677460 601269279 388350827 255505113 908943636 969645476 477627656 998081104 411435630 296853136 217043157 884064394 690140323 856819504 224492314 888080720 764327419 387726627 234453798 376653440 312512338 675804803 493299562 773969243 335400286 881718221 772858745 521888832 256198895 896823825 507855840 878564399 409667093 616894064 534575481 294471133 356716667 517657952 883419488 399563828 157405878 778524598 655092617 140911920 343465823 441593177 389076016 221732048 308972619 871293241 569340399 188935380 312109869 198756359 357305400 291514204 294771162 994949182 146844863 936970059 965472603 992234016 882340853 844980199 419234346 268227007 918545059 587078412 975867657 169723580 711953832 906034747 892124080 123810854 226335522 696236332 813963392 283180815 494035941 773393020 690012365 382679437 918839697 148146924 539415987 938415871 697970754 549634068 479936053 266209123 115414597 422778907 777040110 584603696 866551376 483913320 433197217 197421342 814796188 310382053 927907238 477536449 915305446 991461830 220015532 126256590 466877585 160788269 483431828 184713589 711056135 670523240 789841872 828037984 686163634 884903887 518201505 356103925 547849157 808627360 958739510 426906630 678342349 769265644 700463408 360772942 646993067 841490675 484903632 466648827 693296819 509764061 638340259 355150208 887530459 682332457 516118905 257966367 762379871 599948588 560354561 912123888 614789026 771844148 358505018 976838404 602774045 936004776 630050154 786021489 958843031 514183499 901502764 889468223 683844869 884753633 715154105 280424854 245989541 101881039 596067780 324782467 386126176 164097807 335351124 674274959 268520549 655738529 614467265 558940907 605438813 101093575 974987603 593516897 834876099 218373424 251893315 682891218 807689983 246964732 846948304 860855271 580108758 884616937 397407602 441542224 869800241 109608933 636131005 182530849 960645935 556643736 596879256 697538440 212288185 645305943 399477794 141497059 593176965 492247533 225337834 181343438 506577047 734545084 778152695 190875984 277575306 250109063 568994200 128509423 479652215 251439658 514371361 970530881 167458080 806185016 987333309 159283297 921320445 176881203 600831791 828900823 815959915 790530377 758707705 623136837 521982395 244842579 176684684 966134291 519979347 578294123 650797407 366115530 419426323 626794179 594062746 368511794 364961812 878020338 134757638 936570382 321490700 673311261 383047770 502566924 953475955 225005414 991131681 272463127 479773236 253038195 403848633 672644960 359970765 541494359 240201239 991290779 777126604 935529395 944337355 113395177 427177641 647783209 712743767 339948215 180434695 134648040 687716169 586001538 657757959 333305808 639245785 175518695 162819056 584877281 961499751 362844674 654266924 213280819 291239953 467761595 807388272 609120967 458603748 679592211 185848421 486941500 876974895 630019971 444951295 652294552 701013224 552829552 655633322 942595852 634801528 532608382 723535119 458311014 955705793 112004517 575129406 546695194 781717813 567221113 431582110 111591566 131506615 545055360 225577910 800374974 357578132 195242200 192349347 696357942 415407497 192921954 579370494 471919267 904025401 684175254 361046453 249424975 657290401 727411733 658092910 647679746 292395745 873084173 223782287 800460819 134323760 733125274 774875748 980331060 112534082 297728344 447887504 153024486 863792539 491382104 392429944 729698170 941299390 739545621 479274628 483194226 486280969 664620455 295644862 974034018 455933947 954203262 339955481 700987220 724355840 277930603 442101253 451106221 615604321 539485313 989512710 928176790 354315758 335532004 671325294 117862334 275661594 432917196 779629388 782642351 273446756 482050612 781978768 688680224 824878376 719753037 351523022 594097315 206828551 713178462 930270345 527433238 850122357 943648995 289851155 359282306 788969812 809417770 728514734 923728868 348570791 959118151 560615107 204474852 412132936 659186152 445694505 602184437 783528918 133082532 378582557 958630356 888692945 183667502 467895289 327251035 927828395 395082417 766258236 879914010 616869204 542604563 935594730 993858573 951754823 132800043 518446237 216529440 184975086 933290793 309163282 227334060 380973601 461417846 214308719 202940540 121277438 977459971 761704579 371276066 802170997 367853182 512342495 772896017 542364110 384891101 687302337 261447461 395948316 210871950 482498410 199315479 443642425 353625849 992601678 522305907 701983693 853353553 200374196 743117962 236862591 660945737 929047221 214457855 902433614 514876387 789303479 693143867 588138150 501864749 525164912 320277138 851696517 690073336 979562440 377439136 212753899 326917127 245619679 115954350 711346225 286423685 614831113 749241911 647559963 461176738 762846607 402702077 420834683 357753967 820329634 255903159 742548567 864928169 281506433 922164619 506065316 316029467 536245953 969644233 496286991 672460030 867392578 896337682 602224363 314663760 750379458 935633430 250769351 793406215 214949333 882344982 153768273 759883893 971456343 217631215 176695425 130735752 676267443 472760698 993190139 527985893 924901987 111136406 202568334 149218900 164904268 213749607 276633403 974433393 250365544 418377527 920719600 158652193 243200727 138187251 188722878 835142561 961448615 648247090 956836885 850308785 467537443 843769452 982282815 570981946 989771522 629787528 146661892 990055405 233896486 186030757 430210020 174381864 561508970 775416005 928465890 970492717 834780519 600812495 878933793 284974445 223023501 977858146 693500693 113648479 862366965 867054182 565858924 878425912 890594434 786871771 882819454 401666670 271881398 934020842 226877563 533075069 185206160 661951314 237364044 839886532 705287691 841637800 299883314 815322017 389142886 301994669 831653940 645633923 551949807 378724687 344847137 537283102 725611418 988090278 120382434 352747051 678659395 303449141 865476497 102043706 542029561 872647923 862048765 211585353 708715907 919961087 320542873 459701699 373288113 151236345 518995870 701386041 251431418 937206963 621022954 501277454 433505256 280020140 259344720 898186061 126966830 661145946 527593954 415961456 668034315 866141810 528597152 590315209 301623057 272356785 362336925 981414741 169154609 430650338 749225907 787576806 899694042 361313370 536190712 711390635 517275686 237494710 709634205 881097972 904805401 718762427 752729826 387476365 879999980 968580151 793448026 564288058 868574150 666644516 292995113 398729458 396981034 217448982 736557306 723937890 349928114 632462420 674137354 712920786 232235596 748832052 999677592 430449792 772220508 200498389 602060422 562548125 894038370 327133672 265181745 597404674 443342823 513869015 267807977 783936662 568403405 676965021 684600659 771697878 169631658 638841858 545908404 715941779 660166261 473783640 835397270 343854652 107248116 505780951 497880412 940340385 104903101 354120109 843382677 276565318 254383625 568170021 941015378 271152366 577743631 822160753 782703856 136645023 873237791 709072876 564360302 458400403 902480140 195958099 875501775 860100569 468007477 731929711 210974712 339494359 832142142 522410529 813306865 479501528 705177695 659112004 405586221 835414404 462851684 848097285 728550556 158518579 765401030 517619729 856057266 437853369 952234590 578618484 803191524 973330326 956416482 651222806 685323848 357650080 943128592 739039252 370143861 453896639 122791403 400546511 724928686 648100210 253027365 826201912 197160869 726800657 761258182 870998176 322126289 870399925 750005315 411015912 784379704 712991178 786114347 824076967 245983727 813274102 962941159 394542089 702455059 280519258 539462719 767971749 890906906 977869107 188526763 596461163 943252512 530559007 528267407 567441811 313137939 857660196 632885900 595057377 309803315 765232112 366102289 611179298 212870956 445554206 150638760 316523041 962357876 817749425 874249038 143550890 994033990 778066914 476929786 497764770 622603404 476023052 530313139 100873767 812250209 604985872 806059567 440021301 781976181 804312518 480887394 935861218 579159196 591643600 764943122 850963440 167862530 337451475 417212748 678080678 202511191 393087377 610077091 653150075 540108044 885501497 210094930 547808617 342835943 424225409 859628742 857658519 835773442 390517904 489952958 389454012 404836251 142771711 260513504 748144532 726347927 801048126 126893265 988232791 717332178 723802513 577636622 139747077 810740534 915962521 652227088 687229708 868564464 873624421 887888789 796775411 878136128 587421630 636580201 637096837 876816507 412632357 105031003 687588638 238002658 958739770 661062238 182174015 840555427 411720729 223118640 105550311 478401244 425379762 830870076 287284004 868209859 453612548 616810356 163561387 223242224 210276012 866435590 465306459 900907114 942174396 232088315 812332643 499715945 365137264 375105064 840195879 518105265 333514494 468605064 267069373 183964757 946087919 885700929 611261964 179721657 502338745 702497796 618242450 113161778 646350165 953636404 906126954 545147406 434238499 440027963 243791947 508379252 208768243 602211589 421882776 948361822 564750680 148907250 521267919 656876629 283723253 123353228 398846431 929901396 285224330 844793049 170307195 409836015 308420915 200206070 495890772 156903264 782509148 162571376 310898113 265730965 511406145 543583369 448403086 447469921 960418155 370050576 300460861 769288647 935440691 667355156 179527558 348006291 740947181 625566700 497012889 320801896 634072481 785874310 553531213 899934205 751417106 140632084 320830874 320358834 132655237 504827934 289843957 473141488 936509438 361293795 659710232 475927317 400383636 372025143 605433313 275793403 167711607 298112484 531810636 851391548 914663906 803566836 955261870 620186454 708492307 306184213 199491285 997418315 806747143 630054231 324348874 905846573 826329528 699749354 252608695 601293284 148090898 703195380 968869351 356922591 743660725 212749614 947037654 191670747 107984662 738433531 955882504 264973917 387057466 834644424 387472967 668126305 111259651 787315518 987532868 914924122 255033520 280420296 755521176 528209383 143573384 118177533 447194819 601786843 659382790 219421106 108493015 998693423 747228636 347514681 175590462 388216652 792906965 308037323 854811608 231099666 462184024 860422046 492264450 131625672 439016885 405615179 701555672 848965649 846774437 162356982 670373687 502623719 429625390 256730305 368884237 271777407 917351016 646021456 372487752 747737583 285942911 487288162 660626919 870517444 433150216 957177813 327816746 395504347 372355600 695218121 377300178 386304703 265995700 984462092 191136345 895802208 405706096 613669690 269696493 266252855 545043254 475005009 696301223 533676706 154541568 865283360 684804159 705760641 147770292 450104104 895115228 699937621 104775036 656251887 135254872 823641481 379494229 291779848 629329073 870853400 662900235 100925929 324929574 223429281 334807819 751806564 252046850 278492155 850276045 963563835 386778479 239027602 624402640 639223857 954421321 179190620 503812073 935143875 435693767 134007592 745066948 410977512 679149472 806561236 989498662 166440972 724965322 512764980 845262454 503853142 955681478 894109755 362264001 889459111 504574165 117048487 309155359 256878090 771937554 520268575 285391596 129537805 118601673 258759069 420745893 383965638 827960129 681631148 917313464 641758626 608387942 252439488 983299624 494601705 330432278 713587723 908304452 423139277 411223156 518135064 555752213 513885574 385943191 375515248 215852047 490149419 449267530 997941707 739727184 268624485 290326304 572926276 733322251 299679174 519018770 269111318 803796609 581032990 252457016 121540435 943727754 559700965 212676609 329060182 980436413 718031113 472066816 973300519 971741503 685901316 887403958 989020056 514985061 250988464 500566657 965903735 834936474 294060361 189252794 971170804 940372983 729994392 412555860 966180053 978220153 145673942 386858076 257927331 833114668 678421390 838110068 691064515 260768369 676031996 755194377 567163590 193387150 121433779 882499796 799003953 596348121 345654384 972463605 512094655 910322775 798821638 430882711 448542769 650017336 198831961 866146668 300284285 719329898 416899373 115441786 654357027 210663784 148141845 459475015 481983993 862724965 561930887 495395066 622311303 838341954 848903222 836248422 259731166 102673771 603132635 440744959 566111979 571367366 969999567 117671834 555362350 831131313 338639014 884886662 474942169 660029557 209586105 247804255 234357825 648430661 439967751 448766251 702876312 742706169 287343961 475057202 867140189 511872121 194743681 619427509 277079215 426577215 383311070 137603697 629753991 333451867 809477345 646712106 491302239 143711224 185795463 383052038 512856960 505871252 482393743 810351694 502438973 168228122 479564321 361887697 502613247 614533109 672961046 454544145 415536764 492851783 844080698 280547833 148916148 833971357 884794805 523745653 343117561 288341599 467567867 434857838 388936713 663864688 679923565 571812686 657288439 541659964 515496847 815121130 999341019 618106714 733636438 541472021 922972440 453526681 106726645 636243925 472857861 924783010 666494588 699538863 851641785 813725712 809804014 691573082 691292479 249379732 853066045 404891092 280838968 779582397 569259248 706559755 760920669 932446477 838484185 437779969 946607974 526077244 880318113 696863746 203969666 702885250 695007872 748080720 707702564 997420383 602307467 911993068 663579256 477348691 324502855 123898943 809472591 932958734 765006882 392677754 440486272 162019076 749005525 140890784 699000044 681017688 824796734 243830026 186906218 393394866 279142313 257281286 677185953 733137244 929161549 583685918 227528903 335205534 679536362 647790150 303587975 363111709 322715414 116480139 787635908 243898000 130403183 748959202 299221710 328151715 159865488 879776875 262301583 506519123 857980234 562871186 475424543 415707269 102801213 701742018 156663082 670094310 346788206 215393216 933090970 511167874 441431380 128951963 293936445 732255682 647223646 713324109 936917062 774384417 229126846 208461059 807368160 513168542 508812380 790576352 475313439 867311800 268667716 616200027 597108100 546987798 517045003 748058680 136990498 843890612 739021950 828723704 424944343 116623756 755206195 752853188 348148022 451034297 444317234 172266097 756081168 614339719 592658625 754811394 727361674 582663096 428724923 572010905 332545563 202537824 361803282 535908158 246943977 664134854 170006450 597651463 564617681 805126586 200362841 110421479 904413863 484110603 617572711 196605391 475070708 386350767 818033923 585141308 494054928 963970050 241974286 207648675 113459741 696224756 605286888 558139936 682922731 476532259 900167203 844333602 104194207 610456356 125561233 117590454 165035451 523025481 382978582 799292092 982808339 628455165 215569312 149478744 813223549 492504486 518571217 470732108 857476196 826389963 817103794 939611855 944590643 379486105 787063454 142724617 697535837 837275805 338373511 780070299 245804196 171304422 300321986 268860131 143696871 457487807 749656826 692893981 614546578 156772820 233482749 456246599 592105380 933874295 286815187 811849296 929174539 253282449 288206781 181475554 516439426 875290323 981872565 204045135 960278357 718518698 563434603 884375463 677731953 700605851 281338858 107070045 611795996 287894046 305659765 180518360 935794631 919437003 968074266 293840926 297596528 512265447 571767408 951772844 838627540 695295063 716727585 154055792 855227867 166604095 448773123 461395720 892574618 428400449 603506065 172641832 244052926 745971944 132431142 995173280 688252847 960194488 714349485 843116334 376874221 231117640 401513754 847940100 178135902 296208650 463358564 398951372 405195869 889270241 883718170 673331659 442182593 562764456 150801686 576909057 100843626 526990757 169839069 262496105 704617898 149550928 763909644 887263959 579005573 244691392 124912416 473650604 691438013 324360128 302364157 145644937 270955946 455048970 966110693 431189712 618911614 401919140 972900291 657470056 544184908 626611852 454902817 681728480 750420310 881116584 362946031 853809517 998676970 522093105 167489714 229440028 463939943 410807152 118790904 627620521 983701910 975317548 229443982 282816297 143743712 170796704 319877918 485013320 443658032 818056980 177684023 429829603 638978180 116378966 801929953 338604297 691488821 833771499 564005996 828124040 849467418 628502851 262613077 581055387 579253219 686666162 542923192 866029866 940031609 502949128 470504642 772988705 444489668 282833351 600144362 996676419 206390685 227029693 384126701 765423582 203434050 912859977 901581179 515036391 509596079 563138252 299955900 837898122 102127722 741011753 929497910 553721642 430523655 867140798 733049266 848783464 285008845 849008964 430539016 502564919 433552334 448159395 470897006 172296141 221171249 368860813 633285382 290766603 657466282 754676834 522470747 690521320 394847064 764202906 820638935 199798084 774580263 516401023 690436220 457868995 372334651 295297480 818893374 528111254 927938474 266019908 703823362 925303708 739861815 624098184 719435880 162769559 640291250 977928897 768161167 687612614 129710593 597759595 646844025 753094577 286648319 179505009 498188834 515717380 903203823 180666388 335110644 498848825 133274326 928294762 619675413 441923172 683620327 448027271 404382860 385809759 959917314 697770553 940328824 473882800 701657499 123973107 108910389 282303899 328045740 137580838 886419300 600287008 846802661 712361289 604398001 517212396 142985074 549324860 173654702 171568820 415526860 137173813 924762363 346260779 650519500 496626070 139999351 810047455 793432366 378118776 953440620 630855986 404581783 455511365 465159333 818050962 944558959 512087477 280730840 148527541 532779640 964580831 578015223 705591834 692131413 754816730 651239960 940585026 530821690 945119390 307038105 550181938 335281538 370991686 239937222 762689784 592056240 786391284 695083478 669417732 461367390 794012537 606587407 827607692 207248839 483467247 847162272 344013614 709115168 417624121 440640893 564376691 871556492 657804349 859703361 502559491 411982736 754789045 588672197 768784046 564514242 758243691 652711043 681719456 705364669 204570446 416356328 317535389 546836830 998258372 246942237 602041841 869300265 742861756 433495879 740637609 210048896 121734805 841465184 683434002 221881112 660753608 620901658 447040511 114637266 635267148 624230820 568146557 555743478 127415611 141142850 638992342 605820372 562018110 457123082 998671868 470126782 987664923 333609197 448137599 530229872 647815026 434092887 291291956 998749021 683066106 260731004 777060076 797609946 484572415 152916818 698745889 681540697 152576978 245057557 111619667 312408674 618141451 847810004 872582994 280094094 672769085 792933960 335612297 652362409 571928493 163890910 215119142 952994315 467847214 883834553 963401148 608333738 749597579 344288197 657596348 419228445 149270190 451539105 803541735 454117400 602034313 959114111 454767689 140920202 146373676 534308564 730644078 356589750 136956718 428488247 477973748 858358967 806016461 309177562 572913411 637411369 700918664 734909251 280909218 480508401 716326460 962784698 801774011 956191456 180415246 794811942 591529007 383844484 162880826 838970380 185973131 367588843 529282632 222214083 294675978 728789045 358500834 772724950 697950029 843591676 306653486 230051947 654473681 823480822 278114001 737242730 314585803 249748880 980432061 278226274 707793475 182832412 329860528 686555202 220499785 945295806 761477684 698178048 697665461 487002684 883868741 511104917 324232567 606283622 896385557 609682635 489487944 189987541 190548019 996897383 111083270 248965765 820440522 294406933 207882863 863475478 599453692 556844848 115677273 305533121 523868284 781597622 734119537 196834185 173674764 157835135 746662139 983153275 301937788 968038516 328498121 931707703 132553829 687236029 777585300 477987984 105984549 540609171 614860620 797134827 949033966 694900739 466198113 318581854 543776941 927745119 295095275 355443911 830289853 900083595 414605580 225521398 289410923 774487708 533114107 395686748 947695830 702041359 198534796 491926294 783674292 108943046 408788009 385370395 780565457 485620457 960665622 584015646 147414652 188979583 361037897 955555084 308371368 739758677 927640590 134590256 109431926 170662344 607502784 126147445 836959534 821234156 499155974 508138635 302496198 929426638 855444082 646207283 645294806 829262275 724282380 714669590 170808153 715213407 802153532 842800845 364840486 251191354 294012174 482323078 805639687 335095648 565835282 740875239 495163107 269756515 678656239 636491633 561865983 416898975 658902618 710833962 845877606 422643640 832996204 512458896 765514561 165897200 528259692 790785782 680085089 861529266 552403582 912102403 666943923 117686867 507880978 206075927 809982392 423757376 944717661 403903430 335837119 286977986 986980265 116017464 255096680 526212279 205345158 701748183 436743644 547403052 396442575 159556356 269488847 466407985 715438785 146820895 215104030 822975437 171766348 760909538 136079976 357153798 857873745 681387436 713794998 381864330 545266446 916887201 174079562 984643946 379242353 142267921 143240079 846157361 567671010 323430434 521416069 937242898 179943725 284329324 917757827 383196781 552850641 978146108 975810052 705229019 720775937 119612416 307890807 199272311 277688058 791288901 443337751 941829010 992107792 624885519 154283413 257308799 512542353 253884275 250484679 819510234 251735867 788490694 611602120 467482567 174413998 875715720 762688916 847049227 370292596 854235488 593257183 803892672 584544592 132630374 678704257 384474838 627019883 277109837 359131675 147329136 914670784 999255872 663420287 137650121 551004167 808469994 608656585 486684648 367289723 768852857 958201173 828935732 712659361 246579986 974553205 966375963 890500778 855646279 298673102 485310349 925872942 147311773 964976937 224620502 796697217 416893637 743100714 236982187 589363669 282978909 748657511 628208481 511329679 458179299 656829445 922932382 849475922 373020224 861647576 809035980 327627216 785260672 673930907 370280683 440921783 951523501 949446581 669302174 908102336 504791995 932160081 256933162 539602382 708601894 924115464 933571226 550323945 931958682 761274050 853296568 841757077 628949887 249001371 273791978 205466926 990858532 750712531 278984627 472118320 689505141 811427444 556382805 218874351 583659532 575165403 971027166 973835466 843195345 467627374 441603351 911652997 921681436 519475015 844397451 771477870 881320436 421660190 189781001 768042961 622626260 298774800 203639008 510701172 177088487 375533319 579676685 734906195 140560937 304719301 537583615 958154752 507007758 395547277 161682704 888735598 104061415 641588391 777950422 423328526 302154552 108306892 410803480 570349066 151907296 157751965 713429322 868109106 754513280 727365191 470014288 957364019 147416894 268053550 601910907 362944320 957373757 716966195 457058066 695573342 665241270 333717815 281627482 328420696 100021495 402660735 432164819 615980122 325581581 248566170 254635587 159780348 479460208 425323035 521984864 778516537 805692750 579494508 827313053 389814737 461269550 198220364 690608350 362191830 931134391 389040698 920726739 450298709 339339549 802866757 763233001 209921839 194584135 799263874 823155733 962245062 900550847 935695893 490242289 115488401 941650260 706533640 320134710 782490723 530092281 497315282 888256837 516710922 492986502 196036436 992099969 688369576 850442517 328843507 986830801 669913690 662348866 678317613 312779536 651101100 442472327 135364014 489061133 524449423 164557088 773027435 828916330 779067718 838096797 476282545 132474344 452413570 778437539 285129807 520117374 896204422 908264021 417255295 566989301 745543401 419274286 279659284 870194053 836378994 217058645 262588845 498768904 197306094 820347825 275193672 651386547 834433955 921847706 414021012 329102797 966955036 203923112 212338204 130483291 316047065 745768221 897148087 779817931 783282719 540971867 131627256 440014775 900508612 109805142 396501801 409932050 502081672 239701690 904021171 311188926 479036870 765452977 755934164 616938064 632125098 797755306 194024444 906587772 653914118 720691274 259755938 800801155 681662119 778410247 646497401 428867227 296957125 339802740 672288078 484261864 568955686 556002251 472559137 693923501 666008040 432550040 706659129 789847449 829353953 125415629 405694589 135983451 143019745 348640538 991867534 561935859 397779027 212511746 947256865 862806259 468099472 803786698 244020387 339434260 195715247 643619121 824405284 124137025 200832758 317514064 745170810 647679644 646748334 705296821 886504854 277706495 807044922 205524201 827823406 914575071 569197016 366911192 679228820 592432847 893626890 208566364 358646336 352559044 194093113 114092958 192265813 673990092 984676763 824308944 140638522 838253752 550096442 191049312 848544982 802078256 551823318 426398026 707885902 796266503 996096108 562746088 653289629 493153238 809403771 741644684 448555410 898609357 185247592 684941264 493742742 258492057 774696426 348427676 920921464 830025739 766189195 811413846 406727238 427392784 838605731 511489108 270432871 643409496 555230659 540165486 920331832 786700206 885083347 136467486 780616834 442031578 624672372 602049078 443869167 832900978 632124479 445151681 424264242 340732731 353789551 769541220 186085883 528035696 436652212 546934639 772130248 176491569 296125811 813550105 857963247 722775746 145646124 622798408 491845257 634000541 839377907 964265488 712779484 999452549 654102041 188024983 372936904 956508727 718128123 155848776 990862609 277053676 690638995 509675439 784867907 696418987 627455861 457987782 968092052 585761378 403961195 764758433 110303965 516763339 879465649 104560336 360839412 665658695 804085987 849366160 149070769 502727358 783659020 382573908 293817044 167064746 499348471 970232896 400888409 227565380 910286471 941370399 273753886 946282986 586502467 391165087 347433721 863154137 519940001 941626613 996855029 373228235 330721520 266579233 777640833 431433062 170795527 250458688 259552980 671658234 739782637 302666499 729351106 758351829 307677580 631853456 286135248 648665104 612862190 356066160 767683199 709052897 110850154 657063991 108829285 115169327 617971660 445867831 886331738 613681194 204101156 155099142 585113554 662934523 646786490 466216564 182056781 574039162 576217691 144943781 163398481 669454284 330022642 750204675 395184684 291977586 616988791 272394085 134694916 124592401 781385515 401839003 796229385 462544714 959295345 858641844 490564314 852859768 765267441 825389467 466732221 552327328 194397434 446738643 545537754 945789012 404767154 641366379 368157266 603228273 971328580 498618199 790195626 132669881 815889376 159941240 645128165 688948684 304922596 262378883 677841102 207214266 891287867 823245040 228859662 803478516 315349346 640273568 535064332 216305699 715425599 820432513 993802520 143565337 425586460 645288545 424797762 396925056 323501250 839949637 792291103 196463117 341382173 995509064 888913016 223171344 364205957 782098456 852563805 136117838 333801610 206135722 236843738 620875949 776281863 905298831 171502829 770812454 253594962 139617199 991183110 316056825 162308054 443513117 625347461 369443875 139088237 741566476 509068381 347724454 847498887 333254328 254740502 847205259 648115952 736544256 713264863 964312808 253536707 362185671 237392117 947263828 542999507 714508084 295974140 801827549 758025516 664480412 106930841 735937495 272975962 739970838 879379632 447105484 894645329 383114010 972159044 700887764 161236850 319127896 665785440 474140031 212820513 483879112 940272185 458142745 317963140 177144717 848641174 859898568 145369780 372406579 412586451 983656003 330508351 383751863 821892505 599129349 806281424 817589459 264542769 117700083 406050686 892779563 903939736 637681149 259194776 791461550 531137066 887225831 623769217 688258083 422883842 184543865 855746629 357787939 571660808 465914083 265862473 594661654 631824567 776389968 931436341 840608448 390288888 508088540 565680295 977239575 724319808 451693693 730671780 851954381 543704702 240915344 208815563 510447883 252674305 730017579 259674192 895285653 591497254 278644037 754519893 561203896 748537403 303842883 186442972 920970054 994431388 133510163 207530925 251581270 368204449 429571150 714931182 351842525 457081177 154668974 968040389 622908607 627376410 233758466 674487135 454473705 101708312 298308139 757515619 236518719 292939713 109043907 428406074 288180659 492329198 583238872 816838106 773345838 670631131 141922485 858094795 436324425 300159047 395577958 289786082 890880037 246111716 622664122 889230713 855558421 582458310 900705098 335575302 890758447 358548847 874568324 864278381 507714952 576761367 652042453 509751641 152480913 364302462 543993199 618693995 497273446 921017254 339770132 586386984 339124706 442605500 609160954 499484656 772386016 774735290 128690759 289721587 792994159 943141790 403524487 596605056 377678810 997131317 533738972 908375946 627107279 992110379 855422441 962954945 727120078 846853098 793284773 108324245 937433899 441985688 689175473 750100763 175933688 211885875 174364914 901352249 166180097 289294836 343408848 242617844 446330322 929454972 120712355 220969048 660760024 277719130 790690242 399248301 688635226 315495902 127363470 888861624 651815787 368732919 158027470 429791593 518744037 111657320 122122737 496597770 115605773 733463442 573258320 867874022 143654410 175265663 809325085 238515205 770189663 506044319 891754353 705322486 329945122 542293642 589914459 200676374 895311947 176638504 639163030 233684131 264666776 179432512 765993771 401493021 573615473 500502649 268479364 766215733 178055286 374283161 582269741 486666487 648215072 441081469 820996491 311863434 710582520 463564760 118251879 702243205 624685461 992581596 760011188 617771892 807006909 517289414 450411239 271316698 171782923 457274638 319538536 619779551 806631913 163675995 797000255 277318494 162096853 947138929 542715303 565299892 564396497 598364027 139404201 347177274 853824445 769542638 408009781 827520553 538732752 648006956 549602100 833413915 522013326 692844346 649915815 538689622 323443949 154913486 805763804 750190911 494622654 743970677 757798476 260516948 390416014 385212427 605502310 707174454 248289056 845447219 707419031 652965212 806297660 906109019 598497840 680458175 629295618 443161273 862309731 797586183 828911560 438959818 307801978 854313961 950690440 829578128 161696954 868397714 141581373 321866831 814764135 267160426 536866775 745143067 841605387 433532016 150164784 146155930 674288457 112990260 279271700 455269684 683532237 440128956 156631690 533014216 858471304 868078547 639121092 206736492 204428270 812379705 870663075 898350652 900010699 676360640 356714102 162016586 993289307 929720728 360512240 902899274 730782839 216427916 315613146 146507322 727897506 445618870 454204785 832730684 922932300 557972425 111344093 555610509 355062279 311203223 506413564 663143905 598123641 612299770 987531915 628910969 584522785 315481490 843941735 107289854 315709730 207770743 565487453 360813025 693679052 664733301 282309403 169403623 400880688 383855255 496411526 190837940 683309464 509419746 315818061 944950967 961854217 362100813 798763014 306887186 157292544 475893063 150425600 474602167 558705978 140171175 708655107 577808662 487303229 349961744 506288050 659835941 207592246 353594547 442402005 230419597 375314341 523451405 181243773 776978025 181517350 762689560 892800337 638997052 229373802 347253637 195528773 856821406 857049749 419723235 657818719 291247147 618847235 484760089 183962246 815802015 973665476 877931510 560653628 197650649 456317257 364904325 597156254 359335256 886223153 652755156 791878011 552620069 575936820 610180761 313012358 825157221 965957825 989744008 170624278 536973902 908454617 944122345 606817684 123607990 676840386 737837518 297835245 173616491 399502584 652026898 591340715 238593368 417093113 681094139 543801863 639026417 984882283 684144099 908888882 744760929 582377060 747160005 112465402 543411733 155167759 453601785 304536258 795585986 154237897 534058966 179014530 737754896 458518580 839894304 314955468 454381922 494109111 352959853 714716439 650180672 561721666 370314959 287213914 655127587 389653165 812678663 323718770 822789256 512552036 678288034 273945441 459888194 129255210 711329818 161480919 715942776 157819478 883341693 514341521 312576108 602325434 415606999 569831925 787291358 922783573 763759193 434929979 890197456 145494290 814396479 687443528 276105625 738733914 693913602 605430486 706663306 799228085 992700723 883569266 760190064 340386442 981501453 313368473 146682579 676774557 785455421 135998819 224197426 655471081 753939338 429291198 899132464 221833196 661003234 110794507 425889340 969057857 124034078 697705620 863915299 872783814 502968760 421222007 352001937 217238421 641927954 141550289 749900978 794520048 807048757 234854272 203199150 433276613 702310894 737630449 917229743 776916040 331015965 738313742 880943716 524528606 873368420 832753433 872711532 321492398 833478339 155319855 821849442 780083588 487607626 317604958 839598682 654567764 226351137 309476476 912864200 911341893 776487790 988622839 316826368 316225816 784415544 337038163 434471219 201088833 513225972 935012101 436232512 430111277 709579015 326286268 421621521 571876909 680083929 659070988 974182564 417756664 545949535 802149573 608058152 283667646 818171972 562398249 357964870 246906322 273474058 582855969 879278781 312311171 486867709 664532603 456476944 171725670 742881095 115749205 363687778 235115441 905356716 551115927 525514664 271416564 602740918 842751099 596301055 640104208 797534624 880757110 948039080 715711531 903337188 105902172 450229881 692249170 982831329 310170735 129661128 452489585 779216786 883949228 251423325 695838795 458833112 379974545 382064928 930449596 192733976 732007859 785845978 755092927 990478529 933430042 493813193 631648291 646735580 284890382 571931221 122639657 489876082 466795203 817901601 119750467 298259500 798714096 582672583 353610109 155831133 478424274 173782161 353617745 338099767 200088837 244350676 631883257 706432448 806509982 204158177 245861436 230349430 475613074 126026745 219663541 570298767 417875238 205604234 436698845 177987269 708406293 864631835 368251659 867259154 205889379 686887416 760981312 582819119 533743361 800490773 655141740 708067675 404905616 496774188 318967547 630993958 714382863 430835560 644639330 248277259 915825774 378529459 812043312 356934545 468873321 646431319 257569029 150587962 861302575 751982728 907032340 618872205 510512584 514023914 466715418 867909121 381064819 655276341 680361061 304532068 977717396 412926448 443156409 523260338 187976013 596449659 904375365 925294467 248933797 319297859 878563847 233575482 174577741 773185889 942663590 473132612 806112988 533511394 385799984 531402961 585401083 278024113 160930155 800386013 763100857 595319009 606016021 322326748 766175383 867898371 183266703 151049453 604835833 759899925 328356607 406489003 224423310 165328633 534789518 210492731 566745668 345873321 995199004 204793271 153381548 458758070 341933187 670326562 647687393 997595269 168330799 845555968 418157701 978101308 341051573 320740912 847361258 934459547 621961310 792728095 150481663 376744418 883848244 955064417 712203698 729296073 110905655 206502068 136213318 564008356 951550282 958814728 804428678 503112812 287247039 977191359 465847429 693382170 761441864 936411804 254107079 309618837 876531544 936117240 504015924 208076212 499504708 423941360 800467475 658890438 289510853 208152378 107240534 652199792 121616048 131623448 282712224 562713503 393307166 389751118 978931392 935018945 971556348 240689747 438051626 592894420 339338850 299585518 404735463 160384290 938163754 905635432 147102051 155806764 637011775 572375614 627483095 700442750 672500660 270348009 397869501 490567735 505716424 891558176 925693597 201186278 633711939 354039647 566346144 307154037 174830593 753459252 395598696 577296031 479811777 797355378 156557111 787696643 578163353 727647662 478612624 520588610 368769466 870604333 103412342 410834995 998267680 373461302 531076279 455938646 380073681 203187083 900804358 752638423 263996618 607274896 450940369 224515721 435818681 204722767 243890231 384439868 632991876 750808566 158441387 398818221 988996724 292380969 995416847 930805723 891771874 535442284 953866479 882575690 198784429 997998501 991414945 538255196 715755696 758055482 109082701 878469903 113555263 991672603 844347797 584481268 871956892 105574791 871358595 164402634 331284054 984420084 929093663 434317509 119558380 924865554 922778945 698866958 582036708 619950469 933730507 982041818 536269867 223230279 450651685 317383965 672463685 692907079 858778597 470968171 237467932 570668114 977412102 225258350 685316620 576559195 517875791 746485245 759790079 924381164 579433993 623933796 554800532 491762786 725065658 252476146 216040283 905950018 191579200 323319008 140651358 543942786 662760609 316863268 879181781 114633498 270531794 943139954 852972207 185448488 740751198 162523770 492137144 587632551 699177443 834355726 112789451 292307771 901586599 343953256 288757238 788097100 658354834 795553087 741195624 636713832 673358234 554984980 314946776 436598111 155451111 569038015 120874452 465603551 266730669 668163121 986361338 836996835 798284180 757136061 206385584 802516864 911383073 986899420 916697831 181688797 111907907 155862954 422365667 720048716 971399559 824192818 585577448 874810950 652180882 268087991 785833699 905841941 911841748 557022141 880337597 113122574 839347147 586839039 554061435 619886644 555305403 667635926 905268672 207661626 687279320 211221088 604394544 745439832 447246241 247160671 997195991 262857675 234478678 546870285 336970960 192648591 735028258 989905468 768007624 348075838 841169992 444442781 393203426 833506922 537782715 307842011 180653502 441220913 931664914 369956266 939885268 362153718 560689563 896913437 292214341 445250237 633367671 906648243 273802896 788889341 913914082 947798002 889216659 930303650 211422906 394889350 187751755 583351186 933847481 140468769 779160250 541214111 414701562 727668454 169516714 864755990 522703156 737307035 808934077 368573286 388786514 154729356 809737300 860685572 597649361 828105687 241756566 988236054 588177007 356645699 677199862 404659540 656468155 257544596 867002338 942202680 367533553 952328739 421330727 241489354 768452059 810938151 958449647 301817292 181105871 617699359 540274167 373427484 897168648 393232728 176866430 446309115 758321744 283081874 495285810 510823419 772578095 595516412 508086806 768998247 290359937 480538377 768216969 929932468 591736813 775954207 772175441 968807610 196366672 745653652 808461885 967131013 746267090 803989728 403074088 103591764 302504555 393592988 959164704 614632369 872581734 792126469 585025317 722069538 490581513 185731840 218242982 796557769 584604957 295850401 316673846 776483599 641284604 647290742 934216893 516291533 294971874 723760166 520117872 329365249 997367445 533822465 530329538 287501538 844336606 610370698 903661049 323055817 235761408 172659954 424428464 907180102 248478499 640708148 151424569 194440461 316554093 952080548 589945418 728630680 111076507 826978152 781719738 294306065 652206052 395241008 249648998 292505603 862617211 499737224 647689891 796334570 809739894 156981812 815121436 256067073 404982679 872939771 146459887 511051606 578114520 391501222 107161028 601507653 566895915 395888654 519363853 486709899 155448908 356062463 389099473 227081205 338457475 210651735 567027902 524249997 427267826 744998802 784612288 896166166 373749822 816005543 852460977 178047066 377867814 882182717 499890424 801038866 532343157 717631880 976528316 416360594 235668299 351619353 508386880 276477276 995607932 720039586 771985046 981896429 870962548 810110201 896618168 695779162 387724497 960739472 913973377 700309228 895225812 691638137 168248924 227132230 186220649 515357095 142706882 578733636 518933550 376036653 519832358 485674804 710816629 960891628 630470741 423466453 611664963 877570388 149756982 701546582 193383968 870818584 578900763 697609593 870336529 630163022 616005872 166610264 749196560 146552866 520124075 543212276 379629903 903322675 177203775 558210937 305882875 379117926 220554467 313758873 980551699 394999824 975629358 869226859 870300839 502277684 164046370 526946482 765260545 423039652 686807767 349013826 590470495 937034445 534811213 386675120 134634048 740784619 566354157 520130002 403622265 516989466 848282757 548095324 888285319 724290349 528111129 884772304 577251140 993599078 213327817 530489352 168054159 250341490 525759580 962559306 569336632 367950924 270912489 278196856 792862319 860769278 861675229 315854270 719723622 443642641 787481785 383278974 393360430 185161222 960840792 509169044 579895626 146383984 385326850 256880069 210598665 596363982 414801926 616025230 724811776 988603998 274069399 904123314 477786017 597602522 849256652 212358354 662624562 984627885 358702929 344277031 920931206 758787168 712523762 826725769 669648944 469336331 307005049 605493935 372969352 855410364 215649444 386520672 248225269 922596469 619053319 221886225 558192068 800717679 787271745 843660017 836371128 505082022 971521438 239630673 258416996 839170374 445330353 682362811 478033062 833206383 806131652 228645724 221544587 277744901 947117327 947641068 599987116 165536933 800958416 314243581 333122986 716474545 319129501 771562376 400735581 310716071 928040464 892204425 823090630 380113669 507538973 609440727 283409226 406094551 178957640 670237737 441959149 357552112 536038313 659605892 257327489 807171955 812705113 122317582 442329033 258315183 762762595 538951088 388518431 990984630 668218604 635233471 244668242 622955893 376770446 785254187 420198602 146908160 290689892 374554215 275320371 847019144 272704603 145929643 173782957 604933105 149415848 527968393 169023632 274134914 656290167 813613701 268479318 993764695 885295872 309052143 363110501 227868937 334628841 181460316 247474119 418762160 288130028 624849193 111901849 415423985 512181955 259022792 712963113 690949606 657989346 356088476 155975255 931356034 333680091 233287975 362840054 843888391 880568773 318544679 880679780 833235076 176999488 985171230 325438621 693227100 948319513 360701821 325497676 821621815 282509992 629759496 716461027 404634381 700209056 109940192 806355286 218644181 391865381 529148801 793987207 384398033 581205596 987383098 925214274 930880365 372503881 852720766 636667913 428226790 412365673 104271581 265045278 220147945 316421343 502504646 323328617 439129508 752816775 378078715 714291443 118304979 928598866 259297574 767981775 115305974 413991600 414559218 278268209 527093805 655663861 483158006 798810823 997645513 875684932 480804091 601448572 536899850 443101454 453791900 311240806 182450914 289624903 106101995 747565853 152230490 600910863 499894151 614026838 868393920 303208502 287028831 260380150 312940756 623538660 784036536 214354500 305723347 534757994 337352789 187242042 998085711 893108083 821634719 210850835 890465498 357885233 638442246 398070561 935329726 864525707 647404454 567619811 528090567 728653614 847739760 332223325 608119722 461512071 991216909 315370411 743897633 729668910 371987991 227908035 760999444 103371463 139578046 585691786 591523654 395889109 846901835 950521749 467552768 537013407 983755961 924149565 402504158 476602526 393917883 447193517 714657194 554782933 575393895 139033745 391116109 342233649 780213129 899126207 934739104 814497894 242062974 189114908 674197404 421016310 624760824 747815628 195366272 786219223 233015382 887973211 788730053 911755611 405609099 650764068 628799547 270470778 673426947 318718764 922268718 222461824 404637660 137106926 816598115 450761272 710918821 880204999 330882237 740743982 403092458 628341436 128844918 196740757 893255902 131111856 151580616 566441233 373393364 637582107 486798900 266739401 934922933 396571299 235424750 798007817 395684924 199489481 829735348 196006541 485541511 972135318 259865635 934805868 334686723 376726647 761060933 456805412 185791639 488179527 790978997 795928375 733631825 205172703 893256701 750459582 388400531 917070490 737663545 555545876 845323939 733563152 274789940 998910379 838924151 422011810 670979693 546973469 675231755 298308881 160488752 159250862 446112644 503486418 113234430 457206579 791276817 679170355 258121090 200322897 948229955 226286239 672743698 226470800 183795397 779293212 552529494 746246766 624944826 606353481 309229741 242858087 240823911 995662607 908719350 249399716 386254986 890779240 751117508 318100743 248698577 161288137 181285798 508004703 554833610 495058112 878492507 660277652 663070298 143306685 435263144 689221686 634378561 730595113 488766962 294337041 461596157 792909353 618423975 375126083 957667178 937339551 702364084 293614081 381399842 645052434 472858520 886108498 900517700 283912713 193869464 833514285 785458274 430054670 361217338 523695463 863890758 116875880 935196742 784465562 205852264 143466455 896650411 142380346 683421474 419604169 898520648 414033750 889209669 722417657 786273603 880918855 195481518 135049350 922990137 365748233 694125372 989424110 563577351 800993948 895145316 839843687 111259061 551780699 624387952 755451453 870062531 640110224 581465527 800344283 358168214 982167266 749034293 240084983 376733182 242025482 347087400 105281406 374584337 746949199 218208367 637213612 393044352 379843068 714263809 282547084 138676257 399867109 526671159 407205519 777118532 287722618 584194445 500878555 201756927 891382655 739642037 518502011 508193339 303091423 735000245 892634393 622956691 321362614 993016013 395402590 408004402 527348938 351680166 638052802 170847201 441257484 208993044 228905514 244723839 928457912 898924094 414571331 915960527 388796157 614582408 261167532 800422843 126886371 483574483 170193590 311057595 962221847 404998364 913167505 137080304 490948978 550262819 414022760 458375907 941727104 485043693 977871648 611138889 251191704 793589131 663964339 919379633 840254340 651409255 242681553 216643572 115821158 896244752 569155233 296986661 224914385 764588029 679187589 684531539 489268001 486162572 908716696 869900839 557317458 141778632 314230115 782132138 127936367 825503674 404967944 728284417 486182354 389407422 670546176 731250707 128716149 727308880 799140036 222972926 220260484 501916276 237446146 566496187 394203891 648788497 382836711 175610721 260461357 157833367 553484382 293902803 793892816 865787314 787117067 514514715 579680683 548691762 651187267 972064355 468608067 696148557 191137206 231416100 342260133 690464093 888209338 236196455 202154485 773392739 866785704 777722835 645875837 199996529 337766748 350958383 185143453 952320439 996158548 394993582 646286355 443326830 175261334 373301519 640764286 154245096 357495973 999999599 560701256 683081956 575686129 266176174 391192231 905502156 554166690 402565613 159657774 987271889 788140721 166450859 901924103 899062077 823553447 432895833 638904840 117668155 399868622 514270849 871099058 756864811 220960542 401199114 443729648 369467514 543657306 807530540 607320561 766617199 366971481 915012274 678159113 822592326 609051728 611194967 270303315 869413465 246288970 697670170 668018048 107028086 557773811 925999670 722267181 116443803 635327202 318195974 676626854 485233612 491400220 207615711 557313433 310131970 493928488 316726191 898251213 780945148 490297212 827057606 482273181 300794632 993314546 302837704 825386902 232417891 503962511 168902555 698232821 894651476 133551999 326016972 471222397 994321436 781648795 565166023 367994129 608224142 837713127 997495378 133978558 403185612 554772926 986559322 124210331 427929980 488077642 684867171 525322734 753022240 145181925 780988011 174883530 794892859 839228625 586587444 628079088 968056604 872950692 729542010 568453572 860248056 404310888 885302679 227940996 497028735 666676678 256754615 735882138 944437567 675770451 149881494 114775108 814075819 569073792 466107561 198694853 754690586 208187385 123835298 886434011 886433168 253174324 313221498 186031362 404744442 902389012 351112789 913481896 867797948 879170996 424794722 686118803 918819285 330199999 462065186 888565339 140818480 947873861 746780452 701053547 895677477 232304768 524966986 543493387 986502725 628154009 817799225 243681276 895099031 772016388 532341425 277639981 323536340 360369428 925664282 906600109 105128238 575204047 436006095 299284349 133719112 640840532 145394182 497309708 307755192 685515870 195836287 944736318 283326670 679500360 671224087 932023971 302689399 295140108 539484004 889881068 309488872 864558168 930520267 873961524 128499926 316628406 974366548 540868145 240835604 824023214 331223249 999813378 679982494 551285967 331508985 711278577 856370695 472783515 288605774 168512554 883115025 863621163 426070392 757413958 297523309 925247364 302553394 508102641 381794435 832707463 837976180 133674961 912900242 102000287 266509790 324499089 991303047 279956848 228929845 167591153 741071933 282245231 116192262 169773413 137629095 415496102 849005152 137326657 444620057 891696863 922758959 202248002 651297220 964507316 530307913 123404980 391385481 423485682 124216284 124025715 377006650 737256379 410726301 494969020 770309503 295216935 812934605 218902788 237886135 930015929 157385409 205450920 724887760 416632195 949055048 510048537 733560603 979508913 179321918 940813943 347959352 363453863 119556877 228614487 284006399 427920644 213366505 739487218 779297087 679731488 266271335 462312148 886413083 522951998 703672316 331506620 317137213 461486691 725828944 704071114 669542263 188727745 188868124 980582143 782092942 754911366 749106753 983102740 255019356 113321412 765977555 926582688 861212767 254113038 693893884 134912597 205732029 592208627 378078391 165107029 198967393 491184208 272192773 580897515 265067116 919862640 401832287 721376508 809700587 558089910 953750960 717086594 453496950 657203799 301962302 107645112 202487702 985525247 778956169 749478529 614314487 154451102 750662912 172238003 825134317 106691832 437268219 695072444 205960894 777046869 878426915 795366579 430126000 929952574 993790540 650188864 410657924 156132981 198509832 819594514 531709884 547577251 669378839 657466791 701079541 603616874 520939209 669232537 204735231 589368149 168955966 489865874 342740210 878603999 996089583 266540269 612087327 523197454 621921682 452082303 122825609 920198329 736780801 982633853 637807495 162110909 750604886 282207396 670333481 158206908 471408176 269892690 346759949 246513088 382652980 690490181 928626017 422508960 794770671 354896042 227780031 565916209 721349724 466858986 664488238 417036625 773734062 777940893 147975620 424723046 664520624 802371512 544425953 333929039 472216566 209180534 439893604 403007121 253919618 312211460 565429121 308186557 744048366 424071214 595110581 439968059 352590678 284944426 385628052 818832981 867754172 975055728 472163619 178582181 327713237 432653371 723516835 657016029 225467678 502690742 554906809 991592838 540011632 351174212 799887769 630499367 505409169 956087256 554227999 337144712 103386513 807259503 786323777 378934717 954472932 207290578 703538717 379109660 381500030 251753273 380756272 359473494 720919809 395819678 354589892 693288550 807981106 201693755 896245004 767345828 299349648 647271473 112658917 150999546 475848176 921349556 669923993 597508005 993090199 388225080 764257088 451359087 460639408 496680257 142780969 960035072 582637701 577335777 176736692 329820692 927897676 266554638 937927369 989862353 165163911 401641222 224426685 128406145 756981226 137791410 916043861 814750079 703846613 410253020 260256281 964444759 750398767 872591264 783375154 979668244 778304960 239461438 191757260 676831252 996694597 900040290 190902657 262249452 919841690 257334554 312923371 940021548 931367855 317666690 993234170 397942505 745049353 896488872 432266198 346830317 570641444 765553846 188685333 203294896 147178502 901156446 300075526 964600345 570872917 679325357 475819297 808031862 652788721 219396461 478300034 519886432 247712285 911494087 174607369 401315045 230244812 606711022 927439505 318556963 271223415 192234420 301411901 955121484 591228605 257164388 923119743 802466231 813857447 581939447 785434729 514832796 857789016 561470035 185049572 723344249 812439865 782870479 978325259 784420426 571169115 776814065 488624449 621860418 781801580 892073750 697152200 565870646 154423665 158864564 116030926 469944371 167304398 558321617 557205569 347760748 555266030 743435088 921700313 939615943 688961931 903265528 699586822 480998246 972915501 665282668 237145499 695234000 912832049 659619605 965270941 252911694 630818198 981980976 729708857 120166495 479219255 123393935 244381464 987735124 988642392 809599263 834252600 754609719 442568684 259122000 476223786 353707543 624077454 154383756 415103019 844945298 702389934 506332485 324011408 693383702 512939332 155425470 145459704 880482356 344736570 941003272 840718900 600194775 596846500 585513996 983613328 812368774 627791607 693805778 307401505 548615444 654005227 678863275 189844993 372582495 520337766 387363465 534957083 152927171 510937981 173465140 674142353 216225862 237831314 889327409 500001662 903874680 211043185 934389176 730339540 179321963 878301055 296043169 426568349 283242047 504840433 883956886 612179558 423484379 184184939 472958893 708583866 281307627 358251555 322762414 796902534 257757963 823740379 626814447 351182852 576870458 899014757 951598805 864372132 992170134 178704772 515226435 263797704 235928855 243370104 212908869 434167572 926641479 436049305 181583689 502012357 201746257 497922612 408915938 745305127 334378937 928616857 389092445 228070248 730760984 945880685 168611463 616343495 929018238 100499500 325862437 563142257 601630214 396696922 516170928 454181372 903043489 653392268 128983370 706603448 781080986 424178045 362099584 134330404 771585830 417780522 219363914 792515567 481601132 228663539 775161056 588774750 795610323 497033567 452444337 270486248 529289809 555739919 519160520 839925309 957429621 990555710 949911491 208842107 767561336 436560236 787876228 156459388 513219835 874013723 468358103 473160768 460621155 740682256 739155696 703357794 610989782 383026178 298953933 926270884 765191113 822508026 514329469 408228067 927484624 781187611 870049433 702714286 559915811 758329405 333389588 203550059 622745792 707461165 711146263 779619336 932004057 278369093 602440199 755342587 305121164 368841507 874869966 443000238 223202765 563657345 335656363 128126742 874038340 715107847 365341144 372778051 453784583 256424688 503344866 270739955 944791041 933650767 700270214 716300867 932782356 851373673 561756899 514340599 120140574 247467192 872880625 108682567 868423803 844472662 501948091 662528807 349359057 440479747 147642331 859660451 602313797 969936049 113679742 495136720 904170667 397735642 990844591 679995226 548599570 442113808 251103227 469875708 335147613 825728756 976457860 884257285 291136259 167656472 917277483 387585072 133810106 908148080 842091887 316988861 150954717 270900425 517031714 758019173 958782754 873841493 954804867 342960732 299512904 228950828 856862945 107435569 556460929 124809311 327400246 230293868 579201919 244990558 420756181 846691625 524025230 805877720 830837766 182756317 287714595 281483455 415831633 190812509 856426048 391630226 596277928 809195665 144577169 315970757 852339978 484039082 824871603 831934677 201610529 584094564 367889947 797314572 979351858 414462871 438911147 944919075 310672452 885397550 842292805 455326592 952074690 928785252 311629123 807219771 625581009 626599535 500819334 784319899 699194584 447886072 758907599 520937743 866652245 182208264 644294837 147064317 601676469 576440871 461789772 988276592 344592341 807924617 461176194 808493543 410610162 707642454 520246855 319894406 261563224 926412990 100260047 656457290 198381636 676908400 872048777 145217575 849148643 889389472 647933968 638171797 279175125 472941177 674995149 787036089 892919132 390586081 690547815 611625984 653672888 251313900 460531843 219925328 715112239 236632727 751707579 564256734 288068472 779695780 894095307 998398060 346132374 532517917 786216570 195995407 914512279 681655383 752909607 382451054 105100642 122696251 905628295 135676560 349055334 965139551 547338653 586411564 103436875 112073931 484329229 953408264 989827643 840217374 770584176 877124068 412938116 855944583 447759258 847234168 367124324 585731730 968928491 485742830 230986716 857423640 426989019 629179556 201057737 687667004 440020141 972412067 737156552 828180864 322825648 557790580 706395801 217892703 204383543 465459925 604396175 392428602 113866316 527287705 524305182 603156527 154896222 491081246 268951282 874096386 564590475 251524848 424305628 842095424 951645935 186463594 499762546 785554379 210172745 698573875 945030219 971390510 258226259 198014506 169157241 696543219 502724203 288136661 621459168 588380385 117627589 500328401 411136144 826497127 331753554 301513252 452750573 111110673 972268125 530794911 952718566 309392925 851495135 875850465 419122270 646747440 993326416 426462019 632198484 341882065 264857905 545318898 674997644 563604708 830199940 109907380 396376491 872235040 895861304 560975569 563523543 190850204 602190455 819172620 125777413 194457840 285840736 803167799 359514894 714441246 556759342 963160824 721204705 403054151 760890442 190218030 945377953 904900200 828619444 471518119 681082521 804668036 662810337 469426627 570726896 677257093 916075269 454093764 978608983 294785593 584035631 270171350 304507568 586715813 416709913 937430478 416587029 858445677 964268484 668465438 895939833 869987993 173710145 424545540 593770525 376128092 808695077 176745646 685611402 629194296 560655584 150260689 317952636 939735132 949973637 471676544 876055933 900518941 400155244 712621565 151263312 358831277 777201677 106271738 917842095 322047834 730162341 863079583 793233878 650744329 141803846 320033284 754632307 865285702 530549054 551047666 308295717 478015282 175614937 251380160 859276858 401012727 782962124 745514473 742240943 309701215 818556855 225456000 385651673 968436920 922760568 267257162 311416430 803490249 994315423 912768708 644865438 878890279 630344449 874074156 841208596 145552775 830734251 421415710 645470873 118119172 370044141 634523918 455843284 399567206 341532049 154700621 423781710 221433204 868303038 882391029 299056246 138098123 964525839 810591660 629265258 830752582 908023835 415738859 335563375 848431023 726901219 861162352 292492497 160046705 798381513 947662948 907171852 660795666 566738538 637733517 299250878 108150333 848536540 433922093 391837343 335228945 537943117 607761833 742770394 815181740 871943728 767684799 226311665 539561741 126740156 924348493 765424000 297187868 783017887 116422758 531545816 330066004 309006314 644074416 485714446 520615197 468361917 915793945 395390775 224031414 606599815 671581857 172407214 419112566 413644722 636689254 753628598 413890781 204856951 262985530 928249418 842049520 454240037 480718490 661715542 861065600 585531838 837670249 135041497 434834113 432991741 310394646 443060402 138822646 668800965 329732451 660961368 434976746 593780817 738147276 317032556 296771107 445574792 520136599 753790823 497879556 767848779 998022750 459328530 455648729 815691796 830112468 465433610 677162848 739711686 530913753 150264136 271400397 939825778 579113546 733077395 787348792 560034376 493657089 371463102 326243799 405843862 694618785 167825975 629477925 876906370 761846395 209863056 366375858 610800165 758446973 949610016 754119757 514374426 721306167 422620348 574361243 184195067 160842650 582833843 894581447 219051559 543631285 969085175 464800945 194073665 488710658 179146981 611503121 430622924 459721564 804615378 167871300 853196545 221769146 850082635 604052833 239053548 961917050 754212804 689680833 568945929 840633752 251048376 828604936 999443885 141075346 595784503 790595281 431558577 825186567 413534788 873458180 998959446 380134866 494319478 524912744 334648150 340308542 516345344 270865870 235012694 878030817 283256668 304849050 185710815 479164916 489574106 876173739 824060600 735501190 782161298 358625990 692933694 270838289 555637597 141711823 403903170 276766260 100433479 661724230 941808623 999236772 772970379 701041957 188227475 743911702 989433500 452379925 506639306 614836230 705119150 391279237 698730681 999321177 112097410 227286839 721579092 695523231 979919680 976106932 341398456 869480333 467990061 534917755 369939401 998185434 201924615 353244630 598292899 649430087 856542253 659196118 699451191 889091692 142333253 822651934 201830591 728654002 281816963 484620502 830582517 917539086 239467118 376674336 955162350 457351733 857114012 696935153 879568500 149957200 102975844 265250926 778510061 362131208 827650926 190047325 128953033 412546707 913352969 534520855 905382391 121109198 158549521 561024900 659610780 418699266 849104732 337270022 994307216 541578816 177084680 190939874 411452043 381137673 916097155 394393938 385761498 145550292 747025340 716177094 487882131 413263298 839674744 723704574 526543457 383438222 562300687 523751154 673218639 174804245 897252071 660767731 635835879 896005221 343923598 562807723 339555495 961944807 759327116 431690732 115002526 325797176 517444707 942982566 128601353 439247538 620358508 598318854 506532613 998162829 260450224 396446466 600682569 726690428 893081277 569708344 339986341 719634450 594622370 990034196 329925731 338503748 836013807 672793218 548091582 367265409 328176246 201615030 406212188 644767046 909286481 760566666 160476902 404590484 722366259 976196159 985090416 879138930 499229054 324704980 843120292 678965710 181263840 552033838 381440207 515785576 391067492 184442241 755365596 140071340 680162783 490017945 785304339 509687930 228721157 384453149 571961652 827489892 307931298 262701348 528632442 302481594 813708829 449536380 508792636 709261266 834504776 877282518 348402004 648528809 124838428 156397084 417363656 700398627 374586728 742138526 756587094 776850620 510095924 147767770 183078945 689808600 670019883 616614633 380436500 123881838 879947108 394299899 395675636 162713784 246714475 918942407 548408736 919503636 949393982 480751480 557927311 944643455 769332179 569722198 936200516 651356756 746875584 496157329 607215588 692495381 648653784 141789304 904723678 443115913 755861791 243244423 461772342 157686454 398541310 580326025 656865635 931915570 833695544 710148514 548769863 533920741 679923363 616966201 999189661 773053159 647864719 285490173 234170751 864248373 906805213 599324315 253916926 368849381 744843946 359972240 505379088 565033004 389339048 949071694 778075561 361957400 331267646 274843869 824559184 963855400 469273940 546130390 938036140 241331226 518008842 619637981 253453053 453549258 578961866 709279211 419358599 384943920 611951436 270771761 397964455 708333284 530481390 285148728 234863826 958849044 141409856 522840007 401735023 525309734 337948555 387769448 632033967 795473441 242578517 965032382 182490886 476274180 697295982 593784034 701268858 591214998 938198212 172911676 442796724 830951536 618226710 647331533 991330381 119545401 211994094 532549914 789805696 334756569 166482561 522631215 942043033 668392233 279372384 126449345 481513925 182933480 555591966 253750450 762913176 984981483 958156869 836605464 838448168 318442440 278112178 285353408 318113289 264233592 287325386 108610487 850461114 155135051 131831505 766724700 261540863 796413176 746518699 774539943 749006387 214506415 636605922 477045518 404053639 203468776 381553332 415627607 381357637 135402708 729215449 916083672 676550111 705851610 280868676 282053917 962824393 535122722 333117251 124314084 300333783 482422878 704930233 475711860 190525271 515784114 894965140 179173748 486777145 452196172 718335848 239264714 392869914 953970475 263538517 333923745 736304236 214158487 527794478 783626295 825474589 496201709 920525788 981222841 294762446 226144789 355665574 164426248 593521281 291487600 656359423 404531420 148048976 850146798 472064928 495577610 303398506 853427495 270899822 843343144 375877371 992802481 335550937 897788737 807110485 580371706 367782733 287136310 692368478 220575894 420229690 217531519 428996673 445457294 623176073 974020005 190575973 370785599 567980208 980459462 913910459 285383242 820091585 354987643 858111344 325925026 674228544 465940330 390284036 911481965 280382702 411442411 380951059 579367100 801558278 324578553 607276808 918771084 665460406 878044354 169372951 379777412 362659853 857821911 821314581 823531346 515143125 411148892 961731937 245697745 670236651 378118981 280370383 124821179 124666171 974390624 264459408 672325955 935182993 169071302 485501166 420545818 616069981 132259166 422079424 352876504 524215358 838389644 408214882 611906677 261408162 119634372 868969268 308252751 505622092 556599020 930883245 900705273 199290538 902698200 918242331 231446812 153180853 643413097 636302585 282404898 801331816 973622763 942667141 662297074 704324929 976969461 169570921 334518557 817677464 441946054 506453761 190666379 957788070 504668043 651365784 812366546 900484592 501544745 724853606 479377744 482748509 699161746 810835359 553296753 549134003 578299722 888848018 582938467 966155799 448478531 521815946 166685838 621040825 751060329 291383564 131812474 394331838 167638502 456708404 925785559 280278905 956162638 661184962 357412288 546627695 150071138 806802387 641963254 653632028 134780090 292832005 498333185 374863174 293258712 772634011 131066000 983907070 764284332 975623249 269181320 515973175 133012777 817212963 733152336 565148222 127611958 750400893 481519921 158495960 280253532 387328706 518960077 784090121 762064898 469119417 174070511 952744238 939633689 728068380 176496374 375042158 452808149 867825593 930480142 612591803 468154182 912888760 640643405 967031254 514116587 796488464 438859225 865056846 463250813 516619342 312569432 966693670 389464048 103050693 505327878 721758277 132263901 662834492 491549511 363608725 989113728 367145807 504070239 348707437 883600888 883208685 697439266 883911325 376853866 189482889 595306560 517950230 408071744 749286463 555575154 233132898 264970981 764252132 248548827 760582834 167177839 607524942 806043970 646597785 897229485 815982247 898287852 980550945 843537875 165663136 790598428 207551396 457249953 531235023 920353050 746422651 498670532 872101314 762706520 517399150 831745005 753703445 806070554 603922227 360599408 716762208 418778639 239594881 806948320 757740404 423563931 747371520 571096969 985123938 399468833 704267574 728244143 821023616 120859263 703562985 340645535 885488794 674065393 144671128 163249843 194151556 925691003 601621815 170634770 646973481 523838013 681361870 842927001 518699032 112494708 177643036 390613530 560890275 909948727 527322545 712110744 878806765 169495526 247327276 985994776 305866489 739560275 786644022 644251386 783254897 790491112 975397190 285686757 635860841 437980302 492541690 114905074 214192738 997217593 854284137 138130790 463859357 287903488 488140761 248478428 585495302 781219421 358528637 676340300 464600724 317744850 635065585 326583461 910641752 720712551 518550266 904573548 447919011 426968761 314108549 648447291 372354973 500520409 729909743 251480927 769891641 375951204 335587641 358465636 244052944 378827784 482351075 126566218 691471370 853991724 614329040 240694002 285718879 457802311 419165411 255869267 667936461 344050264 622577339 955398457 190706449 806535477 328917640 173621777 305426402 878420736 262350539 441897175 943916171 457497112 681047201 510482649 729845752 519939846 270038647 334951476 346858059 910261442 523917554 885372869 258029512 382148670 409090274 351733939 637384366 989810919 137842652 557340732 235103550 125759987 408997154 613508824 428331659 801638431 388829233 395352892 811365673 837582611 302169359 283335337 177418775 699356323 672486791 615031604 534909632 338927106 264483688 498256226 576297656 115573719 447247630 852954113 858553259 974434760 599974169 927780893 267882964 184615131 578223993 464487035 560233221 704537326 750266404 466064335 483410329 711627384 408166111 743590220 439595398 721001340 380992485 851340520 292846708 556704210 160801331 899786989 444775906 357933690 873803389 109442324 876358779 615540973 719085811 366774247 712582013 529491161 525295464 303798178 965141036 664577492 157803769 659540385 815503908 844771673 946865707 609649459 268172361 337814166 941003042 257695325 348189579 436656146 413076672 725092221 254912988 793498727 636006348 559699190 925281386 576511617 990484541 778905218 332364937 276273746 266508661 263606875 954368041 151138309 940675946 970752640 742494412 926048183 301966014 692703803 267318067 154011512 170078137 749411906 383237695 778242178 879796857 188223002 974176198 948926861 250134938 577191295 630385961 395876752 563637595 310181695 957734610 670665945 341453454 752881260 196699157 227004794 789804270 614438420 425897950 253718139 768899160 320526013 321944569 522096560 941534007 589381089 174025078 849868903 702300381 110846298 700363343 401799593 828393813 114910078 342745182 771156380 481253750 433459703 837681203 183741635 492954564 577049546 133647043 734231607 316505128 368431843 768936159 580784008 201914823 425065903 986490219 706747305 147162984 297590789 547558153 142363212 252457368 555702452 604098909 355216877 902841371 861967188 621004989 295365173 261338395 384543188 252647780 938783065 268640443 503744596 285913649 748814351 406705737 906391600 243480900 226161571 876027744 787246531 697504930 345709202 465277063 533393817 133635239 934400978 661387318 654812712 541980222 691207674 390968262 165973046 426827455 601847413 323419312 831649960 323386175 928205452 636416112 973138889 659891577 275537098 604102765 618832711 223009598 613516269 501414036 661819873 708233316 513006747 532136607 354834173 107116137 617326146 773527378 461284209 187878204 568751582 505909763 853973825 344171590 407095916 655777009 801149369 984370104 243620968 433626587 396502830 578043717 922005900 239590406 533527442 948391142 644064365 383201233 550462801 563867693 923277049 384913632 209904501 522817725 118204995 118791998 140184467 158162179 392514378 118189113 950912659 994631376 792645615 885219374 189754709 520655123 555020467 291031175 468861728 376688129 674396849 948869874 381831431 222814941 726159254 190234552 849368886 780290823 624565906 229908407 369097103 578006363 949608712 911169462 801975553 510533401 994407886 136878426 749215811 507893653 111587580 710711395 362361639 142007738 399876451 522876357 548793296 406706399 442856045 527177806 520934085 851355412 711712729 736430457 177127668 619470502 599763461 668592757 623824202 228631914 718503405 594444890 350038201 868500790 909954769 189503472 753699556 958282767 675047897 840623162 591978084 212835596 597315508 633232581 202288758 656021178 628821466 728743099 269344957 245518065 250211195 484748233 207155586 897074349 625606162 496109114 836684910 443772313 728374230 177995864 368074113 626572381 585774418 142260745 338134559 985242780 388140611 353916869 870695791 617161034 803648990 449724726 996449900 975592067 233079045 600154525 221071226 118447559 793898490 840854632 923603506 108433941 753646782 281848077 155947418 501666300 816435664 563631402 969097572 725106876 230063455 127332858 452006782 466304965 515843921 418122443 470198067 613117424 848463688 238567296 857582835 138122414 463738449 218295610 908692166 854672771 226329445 529485759 601938661 120560679 366498161 431808261 566093310 563206558 361386058 106166416 153746784 697538609 234839365 109045695 693684993 384215276 839220999 395267419 548545287 427697189 281597055 440199041 467250803 576400110 383685134 394009480 432703712 367464988 320124229 911789241 231082637 488789124 978956167 788868734 662800867 773582952 275418403 812650559 286520272 593505029 809439978 381755227 283034402 334046939 523501412 170773617 824232086 894858703 742083132 404922192 328903470 107477766 970558407 758667527 967357401 883916997 858113639 118857930 244582834 642961475 404615484 397598054 202688044 655904904 656604538 497191311 602364452 463623918 913786046 989244678 134579793 936427952 426962405 541065983 494308083 525617321 262623559 278068551 939308771 382489334 141506551 166340501 830973893 275417837 106170817 588957606 748893781 424479673 940149543 623322815 661038712 884760289 536819678 279717944 356526417 948685122 434983123 817110948 302686838 630732123 900332695 651031781 461916609 955990669 785080196 559953451 538351298 149720920 566424622 959453642 917163443 702117054 215005340 698188503 570031206 601516527 740232895 701379023 671166752 533379031 307385234 108544720 226351453 906542380 930343355 794029646 501795940 248716859 296722614 355463623 365254895 370330563 843677005 398781499 738768695 948064234 943220642 309132565 100600105 231050776 497590099 694273490 677048714 752527349 948126169 727478046 591672582 737417782 751768792 726448287 981382055 627776816 771738851 449158299 520905466 306494340 661261303 210012412 676176634 666657121 191578762 146548333 578659392 857634999 103251150 929423719 382408368 903348363 516592487 241886996 597357030 503065050 554432437 703656339 170999200 516541382 544014902 547700358 920127727 668410073 758393995 775914800 414930230 826281101 766003234 991932138 641242299 941235443 170110349 561703254 492004521 250480073 791128240 210273500 243782486 129684797 978719203 257186935 346244964 199589954 773666186 636286330 976785767 857239568 134564668 314508881 109709735 924457916 777371534 586074455 368460467 998296552 269065004 124825405 837655690 180031369 573984906 540710083 195758032 401243724 124500087 545480970 858681824 459473452 534599680 312932945 949636234 633023438 505406334 875222727 492080419 367211069 761392394 173555450 613268324 720158100 306236327 452756629 403537179 317198730 284612184 161653390 932344698 196012641 493543760 645747277 480645306 866384206 353107706 395761682 706411485 775166493 863746021 953779906 658742618 224015446 494361194 357549399 448949223 227861031 529821626 948449209 252047549 513724555 346496707 162815912 586644875 276021962 176590897 177169900 952323948 436815454 477490311 864117990 273478398 879670468 293944761 681493285 659988973 932718823 692469838 225105272 372700821 611251365 397158147 649988631 448131340 976455425 597790422 100835999 604535071 434552273 115502085 716262904 829958825 632001373 716637681 680773047 280401052 212673691 718056748 597740307 255754676 650199034 241844224 879408652 677304899 175242718 311675307 297995822 670480790 923871815 289327393 242263364 358999865 447530869 924613629 237841558 751673041 698547212 928439899 487731114 984660489 492392526 780928818 593069937 527189959 195969877 542281290 838243527 990100479 245730663 152905272 738976753 943890310 523241255 317469228 400716183 905404923 578852224 173616178 401977148 215095645 230625993 110981551 887301749 237578150 679111916 767042475 572749129 712199085 651603584 873796890 626895607 521757383 213506156 485267635 378408287 676602616 285605282 324355884 432662405 252494541 238619503 765646759 867621109 568596488 715872490 769323922 403614966 464108989 129074043 689215018 475970572 352193467 952346667 557743374 721961190 860112874 459267222 224983688 741604255 645306836 344786611 638891856 368640684 704759070 502484026 476323212 349791256 511444193 560497254 929760550 523949867 143063788 986752808 304687507 179528365 509540839 983764439 601151394 750541186 119282811 464918562 209371795 636701352 819514198 103684279 485285558 316178145 801435179 355456798 371464308 124987977 379146180 612557380 908430175 633928220 256041850 179249844 610782428 530467708 101171880 312757440 686315293 129181298 869549339 200755197 354015140 798765445 228114209 633410985 765045834 876018841 131190643 141149776 223182781 109266493 615507946 620925684 651683389 683128722 377539043 924906435 484189449 231133142 780185514 193857480 294050186 420216665 457787626 954506347 356425248 693156672 619249381 328942252 846564296 161323715 634614709 182154017 604210575 672179084 931542266 757580001 643298088 498072046 189860401 571995982 322208119 825051078 417571017 642806999 642521007 567650752 995984295 763595627 166716246 944234496 294101326 992459754 754668713 939324232 357264994 862317669 644565168 133666027 715779322 552676418 342813827 501020480 722720512 797266208 461363141 101866880 400440627 655891471 806011163 544161604 530542403 475084923 144511030 471470749 709019843 568017694 618658587 698763567 898243310 548508458 302398736 818876919 725047264 977904630 949121213 605898485 266880626 620806794 931926367 965287918 408884127 592319023 608672980 914748005 684917961 213353563 855689205 972695945 895188990 817941362 927071675 412198153 210161896 341520579 820373945 713948522 958267900 770039851 752229760 319177459 288071838 994408753 166976289 894219630 992844390 825647979 498769821 244634382 308142645 307377284 413548718 149778077 361268068 790897972 688725147 754141697 673018795 417077749 101600095 649096083 629983192 991551806 102229917 330604645 360384436 122457670 275150817 238246878 526771873 907079678 828288681 670387400 934320274 588680564 138327181 609757812 204839852 337025220 268438401 765547097 857078440 480252125 520342793 113084647 963112115 929945880 603129568 507901723 197224395 276644834 281506581 559939110 521471858 216670950 929770297 358111258 728013725 929446758 828962645 670166381 757071435 526015627 376877807 144591525 323642282 558994474 414161787 822960136 813546046 956513824 412719898 273146280 458029218 552969221 989732351 848786268 378689640 249833673 175899114 875883350 174290767 617244114 555487661 247659963 334890406 739366418 249171115 554609522 654046264 608942473 989035475 903505876 323474248 840132811 942577363 166752989 225422096 772470225 316671390 211134816 391154298 256396395 595693156 141681458 809678897 426711889 997712071 270673875 199092447 626442096 808364697 258232519 456064469 357580211 539336089 774092572 652479127 203462626 807403124 259291876 812866630 878326481 333472072 355438959 852570193 361787467 823130341 288359523 210734079 190146252 626145226 873520116 203097881 636270026 360115631 508491931 479674381 797378297 322877943 572374319 960928425 139167366 726103987 976771424 531904324 308197252 436259361 132361166 208349214 814933399 800343819 333210900 897914232 441126266 379628943 732457663 999528808 313092143 205619748 544671137 926509714 441006205 847635811 670380214 831789724 601850950 111839183 440666646 737949676 315076346 375031685 746183088 848271584 902647705 687285380 955171727 917681918 479716073 739739389 834863500 464688068 569593973 630113640 943177811 989218105 677671657 169789356 771000191 703116237 162787152 697405874 879124823 589782512 888792089 717034760 902587196 219163443 845456118 273877232 507060715 867416532 275646088 621227648 751273455 440829735 152998468 498197913 622963817 165990527 695907118 672267037 334124509 632253434 883744546 681791293 474152873 293597732 117297427 282556555 237897330 930970704 133517057 361100964 673794701 746684819 843260599 494104221 378258142 917952284 345387585 173575066 810928876 903146986 377876426 310447594 803812847 206555348 362062872 194430830 782890100 631085150 309615382 609058870 158828434 285737310 560267222 326870045 881745094 439838570 173191134 556133428 790404794 163712636 610739446 370320649 823819031 318643828 256466278 518951836 838080395 516754339 935999270 268337479 509514582 498872694 846748301 580719333 718805884 463808279 253915428 867294642 664515104 151550201 420938081 512961541 337327504 797080022 575455077 682497249 394088313 622723012 165748531 948186071 875070239 637842459 695367852 288096257 874472459 710602408 197963171 942668817 263036038 510716094 268998368 877411847 530859109 721976163 365892114 192277514 828128816 159594740 480330902 677197792 543529877 622273097 436165776 231802434 534921234 862800900 102846587 580904220 808155385 666008808 919814758 237368602 200962375 317507109 974697052 702423344 307559807 602160093 912306207 464777140 582251354 783581460 273097294 849079997 135653160 480454646 967503321 456015665 358427244 943374841 804713815 904405542 141482194 754980278 563451523 899544990 912998347 847028375 837284508 172360756 686252156 987039766 587313521 695629837 797450591 619545184 609925543 536871117 772729379 587237344 219488451 403026231 324158950 841145503 834719699 588511639 241733706 649310185 958941409 404253626 822407623 307318074 188458538 873307777 378031725 601740429 529112648 632913117 356600050 280912599 451324231 615938413 249577127 839144434 968072442 154858529 386608332 639510195 367545412 425289561 744773560 264767656 223595311 376206592 839472776 412708080 787821228 618443628 206892152 569972277 902607510 794752271 328510624 420575421 435720199 225309571 145489266 648119067 602393083 427863211 518813227 546742933 933188238 304596696 215426000 681728407 850681709 750473699 475218119 634453181 944471451 388292975 339395104 986149036 519377558 928580046 639530316 696871181 590765393 265147711 200666408 805404270 414248490 333808892 254350001 410999072 747200833 221344148 702912969 790140200 336202449 495743996 296858942 496388331 709524887 615235786 246936854 287371991 737249064 591201226 901086166 952875614 751758961 668808491 167475881 506400674 647923418 333649926 569666745 228589326 748718262 783055096 204624864 190678844 222254829 613222684 170381007 273425252 118800192 769818466 404150632 690587934 504222000 598927154 959808109 349687233 580608346 218235708 947278511 705687240 422940739 210773367 319665279 520167036 629218572 822931497 430263435 176182573 239186792 215836810 763857819 939239308 589698605 798084850 291846195 958991222 673751939 569067978 162940113 458427508 615183327 773694320 426438660 785105944 157190729 432710433 759450063 598615553 122140825 837646532 405942389 979377971 319211916 533875201 874053135 802683857 993178839 140725442 316279079 451487991 816883370 384893845 490552792 877927319 616065775 501623322 161329228 712814370 767531936 317457173 156334040 948779268 832376709 289455907 177487798 825634521 196442826 648505175 803474166 293233463 293010767 622322605 599864943 756145694 461687182 104160497 699368317 897116637 488231384 868476067 928701563 545329332 617057856 187052503 756541331 230947624 327865080 672995479 353150604 937469113 116330485 528062697 135906905 726873723 938385046 362546122 126459770 893920438 405756476 446253737 960479939 723344866 268017569 166577319 295528199 267142988 809330509 707181982 272268362 427420158 259807640 867097844 271760857 173485283 925077701 230098726 109770248 411968223 627020433 782307180 115448577 591683940 168966926 200590492 630593820 242323538 383836297 189842302 587369370 305041721 958640383 849146660 590896145 661904316 121668790 328612570 144700086 382693910 438707485 925948430 410265663 648175770 502892135 332808827 332001717 252728271 383408679 737273193 386226602 786971117 881767120 460965407 608689539 940192882 841499639 416968589 183283261 490172382 426774133 951961175 768612543 214260798 508296870 659608572 172570656 369462354 436090726 887605044 178747753 550036801 436642691 748307909 856125067 245827932 870554425 438537604 722514439 703510781 418471136 966489031 560426489 654399985 896341724 106898232 828837336 201556472 682105016 458907989 796140863 800626322 505219978 790106492 970839866 898938531 752269061 598337507 204525138 191075493 502955601 824152198 966771245 291684053 652219402 111336393 531436507 740844008 795597476 272351296 219530780 206728581 478307052 274369563 329151122 707230778 622710123 980211151 605484015 638596599 666554983 496522750 671501768 248664164 738381315 305800044 375543733 157178669 166218452 791312784 276359391 885565691 485371534 934719195 285955840 502454359 682403410 729954910 776067629 666819114 902542923 985896072 544638203 430467531 723758432 330738086 636323195 628666412 363208179 891784396 707166504 140343356 376614701 854361229 570391181 927468166 339924293 281920611 175882613 459518218 694938200 544135343 146393607 663140898 592268501 428385568 540447635 386614243 929147494 766553750 340096731 140161475 172295628 458814407 965420598 465011943 514560093 695897004 901311099 382125415 241559176 662874592 312709794 654632933 988586016 594167733 396854375 792537104 328044896 408424238 218771294 534053144 464797298 897215357 590215641 890217227 435981826 317231677 882581346 872762952 447785426 870877591 675216495 648060135 756506629 578108099 611698923 794580996 310278709 578133795 391100514 804182114 588836994 914061469 547188765 148022259 721060021 377083611 630487971 394029587 223294014 233928839 505059993 249051225 322425924 374123298 107816952 363094182 227594702 694855901 124345500 896617771 933606465 944168111 774338986 787525158 557685222 708037119 143598000 653293666 969126035 213655173 385828444 498861750 302893600 312882731 573474257 692266798 365346194 913834971 367709125 441833691 164407561 952375366 989461576 484980493 288247017 833745692 991544493 362000847 452374327 522930937 240757602 384976426 797314264 319006005 627321531 817400150 150174010 767581262 837241501 998385028 976816005 122236327 106763493 689870101 223054248 330206843 343220970 621857510 585929726 997840578 700828385 430499875 626711273 135584640 332959114 770203679 465691603 793400583 668914492 691820349 958502326 351185228 132581628 162939706 127640377 161437079 889664911 207018990 522277510 132436622 720244800 663139334 742722942 637509589 868221674 310205299 545353659 333611169 865627672 132941738 881922641 365913887 360144593 329923052 492207549 675727214 765126462 438634762 788971430 268173351 249607783 454365520 710756029 507035742 303614422 506752405 299377106 943403869 532003965 696704375 249565135 258220506 254655447 419215171 974382434 158307204 284312779 252486086 308499194 342552196 252189828 178089995 625028275 404206553 794497642 339745527 400931024 358590758 672689983 106143982 848118650 703371364 461349531 464289222 823152870 960514377 202546131 697245531 759951987 324014668 486773590 755863220 899769996 645337588 510429506 150911936 270994509 108841484 130095887 704306902 714112315 401640276 640093380 239981237 859873658 772855764 900166617 197038548 602805936 496710740 482329366 457307575 267780439 134816352 750308118 474064773 861379360 509693759 936678121 738174522 658417201 694057089 185256245 481369195 132081141 192730477 650372868 284167387 907640538 181561541 299101716 278784708 507686475 121437951 154443179 186634215 806296142 566184488 767772972 707121096 457050589 380605624 943757758 376823171 447805692 806550335 556609804 116262379 615347751 437449591 695177094 287152943 842915207 971916322 621247438 924259318 640824143 122035314 917889989 722419181 257780101 840250141 861833092 218093804 889112566 416855140 530454206 761016604 500663681 814939783 280156705 728356080 811199112 399087609 883152043 920757150 631148499 339192563 617392643 509923249 980391114 468546926 409289951 221662757 885361666 233816298 397918735 209073045 253927604 918611894 146362525 511280278 979468738 569537162 504636378 831423048 544789623 244494141 871849857 501773624 957173562 492136811 926705595 262258570 354762660 778054729 548626333 732889341 380886362 893488209 424091662 724546251 948748272 500135905 430231470 705665877 838200524 345415799 349919528 876849553 801417885 933567570 144243039 196532170 992488383 114051134 773830050 129155810 750839369 543699849 443959975 714186237 581631453 313018969 677170889 709198808 357917440 883425271 264765317 515511480 106659446 655664792 695323955 732205301 930294319 678143148 935940724 205215290 644814529 593152687 708469523 973068016 140673175 107311575 143492743 570149347 438952674 492631680 494894176 289820890 215254902 306101858 302649122 775075404 110241618 283164418 331674409 845789987 886805599 832011820 176994683 420580947 974262727 100631468 131796185 165300753 580080243 375062711 931854115 420187053 117137384 861206449 458761524 813430745 900857746 176683698 388981686 318576501 297290368 896016823 524663562 195475035 339229555 680233157 409923125 410317516 927692444 791035817 182180624 770076964 753491226 784318199 883982782 387246475 788270761 778061692 459342822 686529428 357468374 660588544 840562821 422776765 543786071 759012283 191058866 422302110 467465456 545005528 339254430 430070726 259151337 530525448 593025754 231227784 536896558 544580421 335692950 241966553 126803711 582076127 983360818 466104101 630435520 452381651 938994859 139935956 265575155 927920438 596653578 575729187 126884450 383989260 649504218 368651832 946339609 794293997 377502797 184873449 651191312 495344911 685400262 545256906 437531546 384722634 482278573 999290597 720618879 704415475 382343606 877458944 115443650 666805363 159808438 891842822 404759262 470061265 363743278 487100387 645550563 144137838 976179966 302127158 362319504 785074317 520023933 592431760 363787738 450977238 670128305 354580013 721322171 168775886 752545101 728415229 287493527 340905010 498198642 569654511 862991409 821829403 587224249 330746452 883963433 504532920 394379077 695987901 966728715 535382886 901593372 216646644 734122126 126091606 313863576 217419577 302338656 507213942 835793500 521594934 476335232 306413706 722616483 735534183 758684438 990839904 164088140 209550553 660411468 305810893 623509153 116647787 163202524 222280027 296441108 586265442 794915757 149859262 898176003 645420457 719449952 149805561 117518087 890374955 356947663 438073681 529216917 586932612 184429855 571452328 634757755 641313764 420019402 367031865 608413758 738368146 104958627 487312913 494822906 685848740 450680945 492536136 631587740 262203180 913620094 413734878 843386605 860403492 905643858 137967646 557425910 634316505 900682360 512894389 399352735 192116443 950780346 626269922 386335339 274914982 848106191 823653452 473099525 102126199 617126507 472840710 416971307 126235597 190014625 820804059 607156337 836304279 425526710 932692818 357310564 146164638 444442809 235481187 546493260 268223171 117289524 336884743 944928691 780587976 661134154 874406898 247656787 936165666 952328733 547958452 142793712 155595384 462221074 885352089 479219210 685973435 952825781 960899048 411399729 103228345 787084682 410030952 228290319 211110355 815903733 278904819 336372628 974237881 893417542 683127294 855188881 165900890 672146515 859559931 334359237 734542377 308784399 823107464 689788559 181669087 569039718 217205695 901350518 287207132 657540575 447396568 716174941 262718610 978421448 630283828 719648313 532836791 947032738 476456353 867889332 913335713 317211797 239375546 770749748 102192675 402818614 468581126 122137525 307734658 709702124 857966975 828816194 569188028 273183472 149367999 729433279 987976020 305188386 765086706 198479449 393575565 544442070 843308303 584132524 642189454 795397146 759915648 268852901 444219173 803128279 119748959 937048166 399582688 682574234 679657263 790427892 606321929 144973844 177248706 704626542 373135407 391432341 803407671 137893950 659800549 355633506 733533476 235863624 103414661 983436930 472938096 536668906 437793281 488026444 203389109 368810537 155134299 120684461 892832191 850248552 244426781 869737298 152076480 438894676 650396099 492907368 352912345 949133468 814939191 385117923 848592358 974691518 106535774 832882433 510460389 587203623 240102193 389182386 215556171 906287729 753216964 110836775 874840890 360133655 196397164 345598176 919118392 454821414 145221621 353985207 639265001 236041587 939045095 503980463 977019747 170081686 255096925 144340821 900956381 209324847 935400102 556142475 629776405 297717463 412605780 167620693 706392567 404407400 576069392 814793461 127929342 805885696 637633868 351961783 320343475 353464760 458279214 338368845 686468802 969810067 923585319 668275561 524159444 130327196 382025640 595561234 965706841 283471679 518523217 302462598 730639522 410004591 635622211 523827122 455499146 300301237 487675584 443164864 547044684 688028958 951105789 178569341 173009204 420818424 368607858 459232506 952507137 641302225 751945175 511723079 737729495 387380154 911223407 483363612 459229496 478273751 209845867 281128793 155930103 912514061 156378088 966854037 348539158 889317616 725363151 389031283 896201573 815901962 727294776 229603513 859455202 260537040 839123542 209024693 447884032 509532090 720692462 107644458 201650991 911045399 813403390 611982198 477411395 763068642 632325065 213654655 525679236 796460686 489816473 216253517 227077704 288186568 822550358 396618539 403314869 324822192 152866014 635548917 158434452 177517592 363513563 936102179 869711307 477068146 835459635 485316333 675952873 227848922 741735538 931749102 419206211 570263108 747172495 427687024 606382714 420173099 599308681 787551496 676203980 632461951 196126974 704161809 394622205 292088895 993948222 598977004 861488488 782077388 395421852 614824509 800116275 540449982 268135585 396916746 789864660 720772623 704344744 536171378 319728381 914397573 111486508 123152301 113723474 813218529 450732624 294656421 743779160 418399682 562711258 787809352 630055381 839752045 939125260 716935580 698194036 367902500 328841879 898987870 195442831 932028704 578102103 751545297 968130144 227309385 577655493 565490558 953469872 176657799 257114775 223242909 539579924 970337456 617876410 548467545 456010837 801164677 292632078 980286285 678680684 108192129 464827641 944946896 968807296 883032734 482073720 402913695 370180275 908610119 541981188 399049353 203492572 915896208 669802694 950112112 889898081 277145626 897237999 999741561 855205020 263742431 545423002 887333348 750727725 813767139 934930236 284044207 552370999 231147469 441145516 148318980 550934295 431155390 804770117 373770998 877640480 302247945 319652828 362901853 837272239 510218097 759108139 390505190 613330492 616440067 840658753 961826664 831180815 124201666 179912179 510316652 944945900 751162346 557304245 523586055 429658033 361449535 120003549 263390788 376903566 345394405 678058478 324491404 677218363 444637257 175762326 953967843 760036734 693572668 155935496 861126836 117403780 576828549 413031069 563124556 540081836 211957535 143018010 353378904 517498934 567901839 421310841 544775762 373244973 679056924 820801831 606053352 351712670 489732904 393695673 762679162 767905009 224554933 338593550 974124351 839275837 360834277 968980630 215851686 912014367 766394282 386443461 792107203 943807397 296770713 468567628 669035742 413811035 858816464 327391288 530219835 117445617 250879180 143071802 247114175 350481436 300664007 417884412 563237522 901810671 141888476 880379835 746965252 315702274 276132570 418959621 399967675 395983482 986875774 734908506 353529909 896910069 413033486 382257420 806733104 984738390 346570045 103171463 965955141 801521381 125670854 788124877 702393846 944802684 854952939 421703151 158946094 685728064 902856978 828783490 360396306 801146684 604578472 514903914 338693793 156298227 186637881 450403941 922067856 885580158 505061778 884423395 166460465 667663273 333251187 301543437 272148041 838537274 326369010 405985411 458989235 493951185 467508344 839815589 526839799 721273588 882986055 654508721 795327651 561448298 705123993 603270876 294111674 343901886 853077714 947542224 959612541 928936946 526321275 443192899 675263754 223364164 467957447 461419071 340042997 367587299 215137907 918652682 937740950 343637925 520081698 922314004 569476023 506616891 664871032 597109036 577906674 232479371 380851931 859459655 306405028 200657983 253040155 479383784 331955967 589439658 291786452 801749587 822960665 565165353 355205883 145538523 681266955 933391539 244505101 416351265 116646304 422806861 568583022 290658226 498957597 591482633 366115639 765496590 934524482 921342293 776148113 458901901 251671175 415128970 280133323 546501989 510974958 637315982 349443858 147014556 458213484 850169305 961845330 602796755 730393361 258742119 318481174 892639397 301589377 593845462 658179457 507576383 823117852 102695479 918507781 617099934 169051613 354283394 688810061 693953787 849866726 840705214 425743382 317133912 909288986 877337309 924395576 178646445 358958564 697104138 385416105 775875449 194142016 394632874 989335944 933623126 547869563 165967267 658771097 369437309 301514425 445849204 260596259 133011442 899925553 553023553 520958227 803389909 360748533 281358942 219556852 795142533 368671236 127288534 393498197 660394718 678657346 552844837 435846497 460751826 783890133 320899489 357561281 726760419 446448958 350816408 793344701 685504359 814642818 216301640 177401800 846937734 784795122 648174720 642547754 430270238 215847345 672319625 414075698 329098266 233182672 991595025 669326218 376974433 153257879 612760435 329225071 716088087 996563749 970559653 449019993 566488913 870074273 357521017 544729755 573374132 588017401 406958568 175627607 737965570 266022766 706838069 416822924 639484876 223122525 271683692 273862255 675848829 966190489 254258144 361254645 556348197 409992703 355786367 662607573 739704549 661944362 390628486 662710369 609426014 657222290 604946879 295288584 877523008 481812492 141934908 310926750 811216074 777665890 385768699 513925398 539295795 824136545 411817774 419973961 684896626 640801563 686986906 220674882 759649270 787032243 792737084 841748062 186035465 850319001 667863054 825005893 320852803 196077934 173368787 105804801 355615230 957598341 857914400 370573440 548461306 445309093 285246781 791374130 133666277 691273667 501044142 309365808 531827624 736237286 954969853 298710486 534690380 371383833 704251724 458544196 777929830 438690444 255287679 399207416 896868616 264144699 166291599 743548708 798114746 644619334 368879371 708169386 399446709 755184589 239847388 898622994 720046172 750356514 914923483 284528130 749831791 174114361 962533444 654265757 242866487 837125998 198071116 676493006 321398060 784605958 531768274 356350703 137298744 906445448 836200946 911708352 342299034 219347732 984821095 185304432 137037477 813798167 225265732 895043800 404405695 441620602 170898631 458389252 496545614 531038667 200041700 288917123 948566138 323134049 288739191 412806354 703413046 254886128 984291881 127021196 436071491 442573500 323920987 103408561 940353536 632857896 703571313 741116340 844194721 466004232 353304556 106159712 249639613 608827164 778577883 769489274 280239562 308677557 786360886 461578807 436438040 502018508 934947405 373127153 266714928 574962792 768765036 115578020 179426214 553246669 548788004 433545404 902110026 230628950 742831265 562342094 528357037 927353511 622953119 850407617 448682954 344543639 885298045 279054283 334399472 463208176 999497238 508692718 118564781 538455830 411313754 327047035 499157587 974819724 814903613 861010564 650480294 780405474 652986838 562387182 105993076 965512124 588035943 227151489 983034236 374377048 442760544 268656274 194417944 306704926 474235433 956066689 863638536 562380043 754821540 985381997 549246928 870845568 640347434 418537553 364626098 399638034 942689236 179206178 236604602 746819077 798371804 719524182 146829195 438573441 687834790 694292869 401969248 576084213 195238928 961896680 203985601 223257536 336059429 708050553 285932605 449982921 906221033 548960079 757542654 402893013 123493496 385488195 157310549 586259024 291120403 689950943 586652549 552058502 979727287 768916480 708492162 741211743 792797167 131971161 383508791 357479773 217677675 652222097 187471287 850184859 331186557 346958641 908724222 723002332 768231580 133465144 701365392 121562434 284944655 382788523 482599227 189615837 521221360 232479775 637516089 271068844 595742558 181814143 725484961 737474725 549479014 283583696 653653665 932435167 997485411 924144617 598061384 103241617 186609593 564930319 741533238 892869371 284475106 938072019 140041105 455393812 162926283 352809680 471833419 945478406 850208213 815817782 957769408 632823000 297673942 627275026 382661562 891831063 265184160 240079922 594577114 792722353 723644018 970705263 221313191 948527757 596000110 535291274 456998403 602139686 814444439 695173708 667271098 179098833 956362181 371479371 739772071 336711248 774593311 177408302 287356942 982311685 874313854 293571890 686029496 359215693 908453535 424626472 839108930 791758341 726676286 403568261 683879964 728420366 721664549 131345152 877694124 181804019 512558254 212434834 992503080 207296398 916677239 636631956 217763727 479480555 521713268 513681009 576128435 926090279 821032394 151990834 504333851 761282349 737626945 524689870 314896923 486427354 716169141 408750440 542842642 136603986 292529386 438154471 743918961 612656053 818223671 566510528 656594615 987759934 533897609 534842690 405780065 280953946 600636903 264287540 376342872 593793768 466561152 652270250 486727097 358472076 710058809 940367690 933906073 324561680 540013907 857760546 737863805 906589074 147138569 755912248 266095397 722060703 864881597 430598112 754099902 688948279 723454069 860588613 353652599 964726104 939782492 635513677 194042098 214610876 737775497 639135750 749900133 530986813 749501361 230136239 291172501 235487005 479840079 426704691 152089103 678393252 233765844 214539900 740927864 433293903 241685690 363558844 882876703 797136081 454118154 665370469 555533954 221051204 908665686 918760996 923041362 129887788 397230411 984135941 203460470 517956873 930350970 397345722 310816680 522599436 332218022 585622718 350387405 464262229 601124249 960110580 652460553 890109674 192773858 659474991 861386634 309599577 421733667 175674182 824560985 335496669 120750027 460269663 903895978 659764739 105205462 907047484 168603200 725304156 680226194 188793256 280589003 833527749 702744198 890925664 632111289 560819413 485070623 188632203 528418866 222316095 743565858 456737564 152082688 716745159 962551652 815445495 454948107 907320756 653445821 551070460 716699797 560046024 266768431 574746429 172779523 573465857 837872712 856447661 466534269 314508029 880249306 611496825 692363750 671760327 619671362 884770601 473184524 288320705 426205383 950516445 935468323 880441887 758549607 741991145 533299844 429216666 210759908 718915735 949043336 209419313 207884801 212803975 713276535 981694835 111272514 266376296 164292647 354454489 178035589 740115073 587917042 395836056 224408587 569165365 310100905 457467700 371265721 584031344 468846678 183992140 841791246 679208369 484315469 732400689 985051776 525089430 193475437 890537322 330731964 720228698 715795514 741116851 291877799 327634845 766092582 494468966 820882990 646103764 361636922 995128621 149227895 924794010 591558311 716881091 732089685 382806477 827118821 623008429 291738875 121124256 154597392 753124967 255776399 734855814 337178495 134427786 568141739 992148441 621668942 430773538 406746910 435626707 474179770 580579874 596986290 737312883 310174838 257295766 852097082 340949748 275004269 300188612 808084118 569327081 605811087 233565630 889275298 498654998 333496229 295095525 101024905 696718442 136248985 812792136 855982700 562444949 285023304 181045633 235373363 122904449 808837470 300821125 406664117 557261460 784226146 969075752 619202759 311249752 155293550 415899666 264647814 670112819 417418162 633441771 287166040 216425729 960948031 497052978 417258884 435874475 137901236 752664640 507140944 191083329 352812731 551013881 951795927 578455988 156440278 951182355 825002543 820230804 200075430 253220844 667776070 399356269 994645321 185226369 603613964 988219659 139172734 559352890 730486719 591852299 897449356 989573453 873619599 830713245 311693917 545017775 211287055 813454457 844727232 372595638 966859087 814791882 345395946 482666980 573517269 857366509 838040894 905263237 284410787 833893829 221116800 280387502 653765040 948549827 562921367 883458984 775365648 899660986 211220786 692747033 746416894 260184892 767992193 473148736 981372014 709423552 814965508 848223438 881732046 462234112 522041989 521329857 751213980 358096285 759147379 209852889 909950177 471011933 922869920 214329751 696044571 179178504 761219923 357818860 589403105 623255210 442472910 583430062 978090527 839671873 773397290 712771537 149632950 114407135 146521559 337909081 106625955 836368074 138785784 419268501 535373472 846040586 192619135 522301908 939923798 526460971 999433859 882013992 313510794 309214744 790889763 118726107 301828184 885458512 293811345 851402239 688792467 725905008 998162067 837846663 615764143 276567551 743363902 982663463 848960375 390048760 869251294 713723404 387990409 763640831 159051588 577715498 552248651 759717550 707745693 432808201 464012479 922889073 686867287 383466127 209896746 700117195 138741733 259917918 962752656 901625143 816731270 911299917 479273826 298480177 224378092 104890787 465520426 134243394 642269559 903955818 792346584 155690371 455959297 260678087 842947067 739119705 510710378 360416694 212677626 913832047 680892897 113716948 235110263 133477761 401836476 699750106 376132671 971144256 464160033 214419487 239573612 943931117 592281985 185491006 351698887 980514110 266404755 986193916 365250807 471158311 807502215 962334137 463974391 573517662 606408458 126251745 778479836 603297100 350778806 803741942 558566475 517255512 713851680 644419653 212136402 944247435 247698200 348879223 442451782 585637006 848437790 731371412 673257273 202522550 706877921 760952075 470443168 775512628 556356618 186818248 475266974 923991663 631250023 884636087 487430914 322942325 494641779 464902504 561944463 187033847 591666835 482898111 856110180 179623762 804791052 383201926 444118433 582505736 667767810 932243253 514909544 593301277 923365234 198288135 181225328 408310549 526164777 607844169 516268115 254701325 171299909 229647093 807364213 989480667 232165682 163052688 955771810 600791199 330900580 734024532 604156818 547448977 359989326 305801755 752888958 731147842 600006016 601123257 323356157 337883726 565494089 501533807 265997261 991699809 887444797 311963161 607155788 458907775 197685760 315211834 978481268 827275717 239019981 917267475 821785175 616825007 216812973 129127404 525351000 229280667 803591681 301845889 995859282 408312973 367873636 793907391 164908950 840621020 482948189 513394137 512317060 986323588 247815979 512303360 758081476 679732748 620878185 711265828 736255627 429215024 906826441 572399950 109165837 627525921 265120200 495584525 483724967 807376883 803659039 583438962 264535842 638075818 912112423 750041788 660163884 903724774 998836112 315615600 765895652 923163369 816734017 257447134 549128226 561513941 481015288 519606962 955350951 471934076 933601746 308887925 221001156 764883353 955420508 507507265 945787039 256791917 747652270 657168334 190241255 329554133 491831818 147845586 937399376 897078989 919332160 752539251 305219884 567352215 659784571 966652425 988706494 588873912 843967048 730072969 986914861 266811282 661515141 459479319 704140389 480945794 967032145 968331782 162284781 267665050 698290029 287731513 204679761 756593172 665532840 534759813 178234132 725464357 376249476 933949597 238163090 734067289 567318302 726556099 268215510 176835263 264893949 815543731 528896674 421482013 163748879 309682894 413564609 490866609 453979550 708898655 892648974 880284707 967337338 458165390 714298294 647411541 625780847 393500800 944365463 961851870 478801935 561179902 866104954 740566765 357088392 116298200 841938410 226116407 872080329 352914467 299821183 769392559 803155800 113087786 423345885 636338705 341638906 599303206 170585841 848263211 908608798 959099733 924230526 180259375 847646814 191780696 717908084 325276995 765001820 916917357 383377657 402738892 609252341 966665584 272627340 483001065 767256200 129841778 585190069 819094865 671869766 873199897 325567574 316492962 959860584 659063537 816594327 929221229 924926082 521296398 576325286 257913487 774424858 662018984 940303688 611217136 613229043 447145991 271888861 387994427 341403656 107970867 662852576 993475410 523688548 217922016 895736343 596686965 779581591 515692950 926293103 272590886 206000351 577877746 143530219 205336204 791458072 595501983 766911172 317602223 986437225 714612398 864607751 841434213 662686890 864072093 491740730 656921190 138495069 489088385 831796133 500418486 867297711 591910505 328299973 890840709 300184244 483261455 192717161 905106039 283511364 276322333 527520752 573647715 467454485 456955344 509346600 966606030 957930776 134612681 278227341 215066694 170354433 276804960 775002991 820194295 722946847 438604062 184563588 603572234 598688570 156571764 886958877 950462372 512674518 173672058 226319677 561640386 871805821 353802733 154310996 303805828 389545722 223218969 526769940 211061005 759194877 521426007 137730906 996284585 728676327 534202493 480591536 759860763 972454905 117468411 925968155 605104518 746421861 253792695 529721941 363945862 380638510 974464949 547008404 349297019 632881184 947085908 439077167 851628998 696001215 939632164 859291345 811592106 206761039 443730893 992484269 797699661 115749016 394264920 896076629 447350870 915607146 949662552 716359744 836881207 422781336 744068529 672540714 915796988 660656163 232639891 701886516 619480125 512171009 214453550 979712429 252227531 653811819 846976218 970128982 311568890 217251697 113511541 509510729 135392252 510015351 582474617 958947981 451792157 970411967 694266509 472599104 482993939 203093290 962468615 869498452 955448229 447230805 456089848 226776140 139392896 209631287 306503231 996637563 696264548 388686353 709562649 568410747 564274479 690245743 287838928 192893358 962644666 415226806 479497816 821984149 662257576 883345227 618590523 282312022 473826076 854699150 293291257 502135204 414054620 796985984 794184562 714544349 824099261 742537435 497494309 838326190 876048073 634432925 777841788 226487977 623051540 449866092 826237127 793663786 822368051 565163807 313186440 177563036 577155577 262331372 313896574 309679085 305198924 127504983 935562400 945342350 681015526 407434822 953982978 833083323 262653536 392067613 857471257 256798679 950393924 415352760 500890882 610193268 358185308 946050233 184539369 380726789 715032635 690802528 777384455 828671757 514824921 467245213 124985899 703521205 581536631 630396224 288614771 563982419 961063103 752964417 650423941 426964727 383374951 595538258 877775938 261367123 587289217 471950725 251062280 600215215 251385686 918069786 144300685 172374645 873531387 658370623 981678092 650912310 631024181 554153335 550640544 482939728 299597088 336057934 243795542 147472542 790554059 844395059 832594449 727281758 576948217 138223994 299025807 641515765 153487573 630423125 243715195 636157300 551149421 872221553 140242813 863256801 921606559 668498752 238243306 819649020 473934595 152016716 124889390 220983933 579375261 683910402 902384760 142264928 522645673 287358429 532820872 166012308 650238680 684828676 497427978 515766080 709183160 253457729 737002098 432725025 856037631 801226767 228922497 377911470 242426457 382994037 615393848 221547718 474183888 163659001 451202600 184494498 311920489 754259539 258640210 738875384 339475532 916828219 384902713 244975746 275248876 683632836 625100228 545075104 834474729 380600449 121923140 147438911 573918592 503281353 537004191 506730790 369153101 933848935 623078796 408533244 288471262 636213322 525175842 404325629 745678038 388563601 156002452 592727798 754192712 411019524 916306149 999216126 725400628 658601748 861258338 621891609 103889739 868636371 640150577 223491874 248397783 784236173 899619723 207935166 109936575 394209674 493596852 245466773 151544581 294711047 866266469 353488273 404026783 770503636 454477530 359225628 505378912 776929601 166441056 590202639 103816862 805938314 154577754 535901173 236513180 571087827 606943742 179550911 126099881 894120047 582159385 466122302 839355487 851662246 407676742 927758339 442061496 393725429 278606393 895109740 153710531 121078572 484785226 585958371 934375753 756078434 146331605 404917705 297750271 968011557 347334653 665974497 239333754 589264088 527921236 338541560 381572784 212805183 318516017 698706666 896155949 145130382 775558684 608745210 582829664 811943925 835706767 633725448 628045843 386468668 543262263 612416993 670426924 795449762 156158723 281662336 912536421 225561879 308158421 326535941 438529503 149835978 862320291 838288434 360205470 636558289 476864658 237246922 767320503 388172361 992738567 663297704 457354864 685287561 789206213 434644269 744173021 511385658 646383920 601866419 946041601 255814126 748830547 442659675 249197970 913385180 875496124 933916891 760147807 136406136 883703990 604632328 285089990 373118151 426162082 471885417 860753313 440351139 583530370 939611072 701255436 222887299 698087602 401960509 976311475 868566405 904533424 412941170 387039781 907329808 957359803 311524045 486054186 522961631 278748927 198955656 480729246 374995418 155477762 257304686 380343287 612227159 721677036 469141739 230262687 364128791 268477818 343133085 446986997 507153812 705188148 448489972 613169989 682143279 976302495 637103831 262659860 967098723 320322019 550367186 694411826 980858180 969020218 961023564 717632400 344060489 884807197 460361103 254673647 482617480 529470197 628724510 629542663 866440215 289528055 132642218 799763399 717376959 567394293 863467840 883378210 175579546 529815057 727981004 278883012 881309519 941056665 784634308 618099706 270134353 633295057 497022405 762657436 320552758 188940960 114084881 209240420 716725961 868260237 761995013 417530582 394695845 404216640 166998820 526249596 904060241 480491312 448903772 777036325 637946733 754782768 699580630 576362200 729180170 356566992 743010666 256845757 355299937 630660750 756910985 579781256 372784402 950958057 436130774 110213818 575808306 662775887 647589757 264925785 231420377 777161350 791650889 539283068 292060045 838991025 896432464 945252703 168222716 107959286 664799593 904987822 446523735 226230647 783340313 547477439 908708787 305595267 300400199 615006363 890587144 169126843 604633969 982072132 809008683 374190956 200313642 265787420 349555449 755319687 962792509 647997853 680724130 101093462 333002876 667367279 681406582 207151299 300430944 788915841 607481290 339267615 803292160 126277471 655857701 735862138 662901926 681189357 690553063 974457676 694688556 896509005 219707308 346412896 467947325 549166300 564796266 932597737 885682622 346014477 472529840 624035307 915234546 630416233 142814396 981599731 936228167 213889371 872467645 108244260 252485211 460422642 171552674 624993724 951299660 796319816 900226312 684976522 614630895 746500357 149773886 570443605 214794790 570519360 952547919 131814890 828742557 665436416 283711188 714670946 367010061 519700339 885104099 891531206 813511976 821574014 318277363 405811677 710437156 753409514 262088431 104744702 972544435 647787236 938280543 237325577 494732679 780936075 144094865 719147008 317096656 294751242 789968819 592597527 509046642 384028192 880568668 710396757 697439352 812987767 972186283 274147631 247876596 198200461 849163617 507920288 655048575 570767790 774904671 466103822 433077621 488403853 464100630 440395518 307224818 749526221 927654534 985464756 204359778 416651108 337469894 870040106 103607937 921564958 663017219 783349225 410970189 381654840 561492785 878529917 373453120 537704132 989244523 412501804 488185235 939993461 108981942 397307898 185704784 600187886 847974618 457928797 967179021 389311071 739143017 546301707 486531776 869461034 828702077 239246471 742926126 756017200 713767176 579579376 808764646 632074077 533823254 921805260 665159829 626428823 908080397 578045000 173761937 510485385 626656749 389507353 138861377 880220711 979135602 501122984 273157332 466400472 189731927 838368915 286204194 193743410 855180080 541417831 638571475 579996565 429054423 905760875 942156205 495337079 706006751 474338740 573697917 527678690 547256768 510303384 667717165 329309343 370541660 952612783 746178347 134380739 942001167 996490815 768164342 963554290 392559540 535497225 358721003 208785313 500314089 258474009 585157891 284516705 206808300 304615617 754060233 249120632 350800821 273552803 597429354 954490436 509003084 195564664 184834777 958077127 260045010 520785610 875542958 747081547 890707910 275660644 517221407 985246623 203143210 931216435 120447867 975261100 704663147 413639649 336586686 150930162 376405398 639189318 356968116 196172311 888217892 927399863 407970128 391616330 639621327 833811226 913383664 155056083 921172514 977776458 618296798 525499649 689062568 470838315 652911794 482406005 805401352 283169345 620935519 444492363 806224361 755215092 585110988 290371504 598468997 295904852 160276719 482817562 327890898 121169142 285742014 295384822 664827009 885626638 831825630 294958434 787920534 313301019 493586231 740849040 584214896 931116386 596517400 876651445 983933658 894924082 785070510 889879026 651858512 217037018 884369115 575415915 369787482 899314497 244844227 140798128 754979811 847745976 504030288 109514470 327613490 534945781 465409735 135156058 627215718 111246957 899671346 259634606 219753401 739743727 477973010 759074551 955943030 620775701 399689739 615432347 929578791 940580069 685277417 636923544 329536209 510580714 659048508 358604568 852693579 342301513 531860032 466405857 170660811 987504740 488286535 919740840 186940477 596386968 222450336 127812390 986820691 177920552 263937137 784708077 456498851 572847974 585223832 660008095 913909617 219076443 793667657 404219013 579281622 629933832 809880638 678073783 145070445 382775856 997216894 876057900 680821075 795118964 301651910 876748528 311605486 880042267 506944072 469860257 488144353 986203995 288792383 484926329 790710561 172033306 666220014 916347527 627774856 674695499 264574144 630100517 872427997 865116033 167026000 697541205 884776849 613262345 807342503 646089828 641984761 105805665 987138347 586922216 693698917 932232719 873777335 684663118 982547599 987184145 797412228 543585667 457591669 546234871 896998617 487559329 773466149 969348680 439023349 593432878 427872350 973722345 720337396 626061270 404051754 835876840 509360724 644090192 610666122 735567962 789027081 683226107 499052699 395470457 227435465 601099188 744041463 326604482 784660324 305236247 679824379 452111558 205100373 668444454 781823133 194907640 488467579 793986285 763891248 526604871 471593796 976680577 540565885 481224990 804804167 689035269 882108395 575602470 625042396 364586357 964954831 679667753 989492559 693187355 454624055 263289535 147644642 597242821 388196064 700463487 587663785 345207055 675935562 858669210 422447196 186375307 557158325 218939725 640017091 800698629 589498121 392668967 356605484 119861815 774967810 518533184 886955864 407779320 489458506 790967811 125134522 271263402 990959507 852927733 862891200 425101868 437561274 753729403 332154563 609188020 918628723 454044009 136537238 941469141 737205560 217335840 109595542 620592456 394507824 641506016 264675482 629549108 159634147 710548925 469991995 853561379 617979647 147089687 697691790 760280709 904045629 834335204 403540414 629812104 302051585 921013019 829266668 435991780 795395849 727327625 748171866 724542957 424901654 324144287 259499889 621003419 828922219 596237259 960586088 410881505 321682693 295287275 850331339 745738698 533535793 239438863 644695460 507970138 423926681 692491751 454351531 144082351 431616395 479896736 197101241 208334535 841090365 400103652 899670340 239445293 956286697 702227521 283555210 323445576 575382964 596940189 312519533 682019414 613594398 858269678 566671529 514589569 819228579 908912333 428327632 192633433 680946736 566447063 945116428 920282917 923194854 993975457 755166041 325965954 340217082 142608259 573432333 990063805 864390792 959999616 370507522 485086438 966515744 900072215 300770209 233718315 625896275 510735442 753645541 871363926 796002993 226615466 283613325 908970342 806434516 439672762 265991361 654319476 523106941 663842784 473436895 881075137 870877445 297812058 743315465 824605097 810666905 485730489 295605047 392471425 430150113 182210765 140866537 969740157 734593656 201058054 695680055 376281338 343692925 189731860 228584354 169492475 389682868 712150469 902029452 993376783 991538922 519254511 249599573 237338336 140566516 706642700 847900330 800712776 381301748 335131836 258364042 242495244 143513337 994818051 729010841 911762697 975104760 882466439 791040585 178120289 259793075 252698354 715822594 904760235 673462238 540544306 581840823 492692115 971689901 473200820 442609192 524080636 315475878 801999599 872979365 587875503 648300689 467841197 641708633 155280129 725522944 173811585 861159325 176425400 677030962 546478806 820415034 284246593 938634851 845543210 480829056 711370972 743779899 905849040 992834856 313669445 715937284 388725434 288735773 598632596 225022437 812681950 257006552 405673462 579195773 416396684 270873046 640544898 281114629 608078746 187291434 328552455 470534077 385030497 319769805 569987838 689870319 953646547 832262613 197880377 740524149 956315385 810206749 199936062 331490135 112204410 295232857 293566975 406348254 269799052 539482443 888938582 543787478 834724043 387099858 981318013 593646849 446293536 811844628 433676147 553211409 890276799 177596409 618864616 250770661 662683200 585160115 860104450 889963568 239068254 912115469 106344262 722163535 261270831 712243083 618105473 148750446 566558061 216644813 721762012 393377621 601085893 560689741 252724296 925222995 214369318 568917024 310531038 577625829 881284537 519201869 654967686 852082855 670032397 732751925 523623598 594500726 108863919 227904633 488825911 833097183 739067943 465318512 975088747 366950321 977152445 292814747 764687493 380761648 756626573 546066757 736874242 680383701 401830146 137843614 893603046 338432590 163814010 520611506 148266175 498420281 891687878 109646042 129609632 681078017 532384757 962575594 868685667 881433852 784678328 375879209 116530426 272282188 561110066 866223110 754321888 625944708 609036328 970820145 389998226 993418569 473113338 348685355 808208070 580394825 738237679 563553251 133309593 694752457 624237329 999092339 740449908 641042377 562210928 533598588 841975910 400966090 513985519 430205055 113448609 938466073 725996016 390887034 158913875 126304535 504285500 888313335 165767196 152264148 360497787 567116064 931588932 339711611 692904480 884980712 126612626 941409056 878903589 641802963 993343248 573370358 866169342 756978112 501961387 362766832 140660816 411096351 910550355 189504364 809641645 809124933 442999082 980988226 195365412 162159058 665685823 384150356 380021976 277024464 341525014 792237090 964509449 785819515 414824734 630270633 950727731 102817168 546314757 593601130 493730313 155602993 772977803 380900937 194040372 403533486 981146416 264742346 160718654 699659473 186312022 947422785 249496064 404535095 349144377 533068164 173805265 819832841 901374152 217747659 986826795 976737884 660431262 574430894 531590727 880359051 732049613 295198359 889774429 334037584 243205091 977376695 994185006 773896429 447626768 111507426 530724525 869310899 814490458 734086435 683239730 667793269 534694862 365302800 250937014 106968920 749724162 996300337 411140172 379605769 478654632 134440473 956609686 919146602 523771799 253133514 247755173 659213915 767602421 415832494 528774573 426887862 178802720 541355227 941179992 321587684 986765578 411859062 709269150 780705306 772625802 773234361 674935907 131834140 806054957 974130073 944625870 415518289 928931682 464129565 684796668 230601488 971352656 256779776 621638306 503708591 727695856 431507317 378468637 182987339 274604186 802126156 520683385 823583466 403109409 841331082 494292494 343810066 537924926 747488063 480323717 474196746 424621100 132417434 753882807 275571559 277673302 437785762 665143623 443402954 200816817 826378475 144801270 120733674 740362415 289369532 782194490 932930699 631896832 459327484 237503421 270495092 307007698 695316798 658161306 197417252 894890637 278966980 878835039 340276397 386875503 913490314 874399263 725161810 545206759 466830513 655382271 406121748 538218109 772577253 129768116 152086678 370563842 799495125 558958340 963600229 162572486 795903104 514240304 153286549 157261332 815048438 470039379 440030086 142881741 833240377 812157153 505888677 585907816 743394403 722731571 648951191 366058637 888062414 856969326 232646184 455901788 433531940 467054725 204095317 318102773 552549376 118983047 104518665 210338090 830631550 310552900 306371248 875812783 177277261 794434950 553647482 277058487 353143099 411003761 898451443 314881284 133318330 896201229 456527980 589133074 522365858 734479002 793920006 905431842 772672376 150018834 379198098 139926922 267162491 126898742 545821373 907275781 766145458 849496255 424762638 459722320 854302112 165660181 580874530 550319993 797475786 198461631 823676260 729238220 111781752 861937045 201377376 330078408 746603773 109294955 256472585 937730199 765986958 687219062 545477466 727003898 288236029 992626642 247837971 424418864 939615501 189305896 702362343 121256523 296005595 208628618 117588704 374121644 940231901 168470751 916051684 281456091 662409713 820662352 196072482 908069456 564001446 761775879 399258076 687612555 199636449 917679797 565570838 670253225 472633078 661121486 462138184 229329965 169167613 975234855 981442971 542638640 703281358 125874842 315895325 892935948 811682392 846637460 691670916 359226294 817064315 300912336 437513991 979725219 530353406 231277383 715757952 935727832 528516213 173434932 279393975 742335932 559801531 868256865 636619226 737053454 778293881 603395392 591058512 585178017 626982246 617707178 493957711 268513773 435170624 331759893 619782964 782803675 171094591 378630997 872145567 645782655 860543188 754291301 149353380 494891002 994614955 373571547 589909310 219808012 551531616 541393075 703844572 647277910 265118304 758289580 547886388 304882636 183200529 637721696 259648315 736538260 470335787 426106765 926647466 416830126 702190717 800872672 323817654 526557335 926439584 349350517 339355782 567493676 152099931 676094533 356960462 548255962 296726758 357128367 571515295 440458415 559341156 576274372 242107522 787820404 838822988 662818339 684160386 772162850 485262030 187034676 713599368 241037265 628293578 186578918 379090302 131653965 266209915 653187244 230362778 154668879 953188268 830778354 500699250 398560093 162352357 702194986 995000237 329237597 874613203 118544831 816343446 694275298 397179507 473375151 280410593 774938251 634704438 803636937 349768622 241492072 314579170 364026114 580579067 322057275 130081199 706304584 224342895 122201651 607071528 490913997 577057052 147304810 328079490 764887866 877044869 334335353 712446334 761668378 338917530 117232976 181917016 106239522 227338756 234940549 248491317 913867653 541570824 430150573 829555279 658755104 729144879 532159546 404011173 807822428 155930892 430221026 755096148 106557324 689156687 880632244 831488047 671171222 755233945 181433719 930950521 764704738 528083544 746243160 805226667 583108959 956596345 293265520 385490461 980206489 604656315 420247129 872958716 201933406 353575918 603198465 827420215 386107978 530871211 716973491 277946369 916751331 169122636 101298287 903319413 187717289 728433132 958727235 597257870 781563585 402226888 711735788 223180380 300073141 797235987 574498664 303578245 246364609 463679773 298281108 714890508 880622179 859037979 139916921 928901469 102819858 308602007 256170626 756353637 555527163 743561671 168902369 115557951 406352358 818194557 588597489 734158661 681617632 157390966 168207344 104306816 203891357 251985795 508371143 349071424 514640884 535523606 147724983 436083980 795365212 831791701 907188219 873066790 580304087 932374992 928123446 877976883 184180730 172305605 401383950 769913418 514236398 537641693 920034285 260054879 819635009 173913744 182888788 341443639 750684366 126048889 168203913 833276743 433543374 913010375 250332458 736801191 908494225 980502708 206696382 939688094 610437478 794255870 164368171 436255932 657524675 760308683 584752477 759109604 138685120 125365560 218836756 298552078 510336585 228642203 789567302 181588235 920013460 531975431 944823129 419433749 717774269 285042394 444718619 217539286 427381898 906999875 731016204 320383706 866787832 289851411 487146431 950982164 761843881 530257105 460747129 252226398 854328442 528847772 291001244 540109918 742357351 577081486 559586644 736461350 825727526 538268441 101681463 653551358 772050057 877245085 536822085 980452801 997888677 657451428 975586358 537216337 476117690 762233927 733722606 266511115 604396119 424233484 593488872 792682895 916600211 976041974 374688452 623173336 679990998 669543002 570551318 134619740 764842457 280926446 733733719 515749203 620172676 238666304 727900998 461229469 334462096 706167727 569115147 418518905 468721945 950737329 757607021 300532965 447611059 979763517 713265914 579138669 576690560 206398205 434330552 178114931 588883156 977259747 506524830 722514869 482056576 399803757 722643615 717676223 600581637 729117615 745197249 705727510 665323948 615868854 385561729 428077498 861722380 750998276 495153418 389472079 991484102 789411879 438557602 322290877 789892079 927994377 977233301 227052582 617633790 810279468 439629937 551568523 665077339 255594912 290734291 875131917 257207494 451023468 258437145 973302894 259673147 735694517 111895992 151034383 524087486 124477474 109266478 191042101 178137716 569736411 388292043 896636330 260969072 204465726 447455335 649035821 265876113 432462123 823403815 437663378 619158112 994483206 943882104 195060527 423160916 811884111 314171648 164027007 533192812 869737629 995679084 769739535 896015891 168220010 192737636 408905320 691260566 362376355 438838162 559413424 784831591 345498150 810837810 624028854 163507656 568415118 528847984 871656932 985100394 602989577 112144423 433813435 171537789 322829929 459462771 478031262 181436255 857070805 169331895 928039913 847024365 192667593 647014617 495388507 301578995 952191921 320995883 737694688 560077438 838233589 476502788 214961265 273734935 844298240 821753550 796132361 514692141 452156386 699864542 828422460 907794397 820008585 432445830 353182760 930800774 736579305 113693198 401712154 990751150 597569056 993538226 135178855 284365560 871140779 604242196 512389277 733442350 500088991 186731747 993436304 814797335 988001841 350405247 785857533 521471520 816001120 626677971 544753833 466553297 739432959 421690713 543191549 273961389 476788031 165455649 726183944 279680724 975322082 761719645 426314072 224316879 909134891 179189234 748515870 667443428 144931903 145551663 388258260 570082697 241295469 143804543 877654359 350708745 338589304 682960797 148014961 539303919 251277588 911619330 195162948 670797937 901165651 132980587 992395272 525201972 313427724 701667045 557761280 758874563 731451522 182114040 172378782 510639997 121127013 105913376 691830286 706304702 170612834 253905400 187868283 846478735 992234452 344199658 463017184 388472277 246868886 220344441 359850971 889527420 253085750 706970323 436880490 214003463 368832280 357386811 797881981 351271424 840158134 101320551 440963573 309443046 668677653 729288887 469677519 907039703 433017524 656674609 439841901 479516457 471710181 255298430 361650788 882578643 565812224 918772926 484962656 985162584 749354100 767514821 332604407 971470678 158049320 851747413 239187292 114504996 928202565 675332574 396276022 548756225 778645170 236030021 531709706 313030669 622618788 290316155 812065496 633782178 174215319 697222073 376166730 881115721 324415785 801084878 273629976 399377417 366687732 556845351 940564399 536644444 379874859 609494904 454684571 246851975 297047428 338677439 609192206 845523658 210094052 621072094 261991906 359422720 234513949 963556341 542679495 249713767 438343554 377299080 969150667 325466290 763216165 592921970 150976246 600484384 724843295 245773510 651264700 129908586 735219643 220275086 535589041 591691179 625488638 960390935 890604836 593106444 205701777 483020764 253084316 659317579 596550121 761074707 775068495 117725155 190981510 776744278 430422875 371171189 963175186 263988166 285339547 146928443 908513495 967350177 824958066 153851285 339437635 208020806 588247007 707502974 543938368 725052998 514007572 414403832 798413001 644760858 713118894 874961928 520644305 671210694 556986772 821101836 739513967 436828618 471347569 401121118 100785176 600804719 712889771 805827628 505566947 272394041 568620627 924148044 726661083 620604023 489468037 462964563 851275022 252732970 873486966 799943109 479798581 637898843 931041859 709220729 924133852 699714869 256411101 663263470 981141484 195550727 327351931 157537282 247225170 370666730 442405627 395809048 445689379 994579447 791086628 186281019 403092282 601239403 199326208 629507213 683894407 333261339 842965374 388971422 120986737 733408063 186123977 106307509 102345787 600873018 598877196 334910933 410960290 889234611 605593379 706100290 136153629 970656874 140793211 634564448 754046502 644347742 753634837 477688827 677261212 580774155 549507319 981987105 967801499 162549555 557697583 534728443 170378846 891725797 175110055 908712808 704342796 221156414 832199343 585266659 426318244 483027755 256676970 498140364 102078175 479530785 477436774 748079157 698287141 882526798 435256217 167110603 731297790 135804455 621666321 581929434 145732106 530922539 109188480 295664851 883205618 535339965 748848072 772550159 800743641 698698564 292898301 793171310 536859364 279616694 888991084 653129842 417420177 949587022 475584645 417864401 688220653 909547875 302081146 375838933 728444781 385200698 111003404 410819229 838853255 146948900 626592671 393268721 183412738 730122035 381266645 845205035 875245489 391692485 625744380 324965393 729040656 917551414 918278715 882285944 640868114 186565925 327314610 662917107 314082302 293017983 193437401 762708482 223190714 672557016 711930780 179586472 348967864 394021768 905861352 165998137 175887648 524219449 649955289 183383969 219282303 609293143 471940064 120917054 738368827 329585836 351776280 597617792 798879198 161841821 990604105 556366493 656243748 913142035 251551080 393066913 815824648 492594381 969413607 658376891 436182322 380048624 780347885 147835175 303948720 245444095 566834902 356529002 642987895 917685257 903168097 618290637 429729999 657210396 456228726 403492207 367717559 646167581 841491122 112346764 890581876 125790500 468177275 479886310 434376075 202814511 303019781 355601281 779127303 321407519 832696890 787426715 184532778 766587455 906241742 958787748 918492980 579124637 757828877 950116174 710275546 588872936 624417481 896815984 825702559 896154699 221995298 950343683 830948132 943519694 328645115 873796261 458876322 377249820 578374916 362105011 696339276 223065729 182530678 932505504 134786933 390382622 255298219 637387190 565218126 725787160 245828122 698282072 643108193 634861439 930912816 999966389 490409569 269045270 923009852 385162211 532915758 395468824 186820821 398821113 474429584 167427807 239888609 992981903 119209651 349776407 114886904 118237592 550126160 458733499 227767534 216467229 895055500 685558131 194961034 753238430 280425455 554323960 267748423 120628310 770326758 817686127 499163130 328229235 557861615 584503699 302260857 183298149 314580308 198085226 823796167 907560969 502474251 802632477 536451272 514840646 509500664 531392574 303387222 932831650 895735826 975659169 545179638 331332322 189647717 626850792 391245508 157612716 795966694 325517843 537157026 524292260 679920264 155643523 966042160 794042973 580831403 857506387 911153847 850183216 520690875 972342354 579877644 863630745 176125447 713599276 445564848 262178661 739224491 265144948 835581607 566679752 890079982 493926771 662927612 426723843 800698339 482826429 464941171 507579696 554899815 514318466 700310443 318491397 229909991 483435583 523852759 661427965 172719102 509062185 502906935 260919401 501789622 388911605 390509967 115715297 918754268 716086416 536651071 812921337 513558146 927827924 312791411 724026821 977683044 732106523 888764412 684979175 899595337 194585473 677020852 981475446 931636151 398050749 165900164 801255916 502507478 541764725 462160788 767781400 587187734 498630475 511068774 264449683 603998503 956412455 505292761 928134805 673006212 845456068 907799440 158056215 642929748 439028303 751661736 162613854 863276189 847543204 509101240 132768488 519167003 430446011 281134902 420185278 854523948 505838086 720663785 881833458 854137122 574873338 807337106 792496955 458367573 493166069 584025143 341535732 111875988 473103806 558888545 330753244 747862211 891810467 728582900 409428660 993530166 258078233 308440173 512836404 160350092 620135093 275505401 185261677 155214107 633889779 784089667 335683033 574327576 835172307 621608988 328105008 855895144 495384389 566281072 841760203 673509531 519262152 681674447 285341673 312804212 444646468 447365725 162482045 236803484 659717711 318847889 982122093 924403465 936914329 263728387 742045036 990536547 191896114 739920399 562806967 318915563 366977243 586374932 679855111 542520281 716883892 288739323 334732900 528823469 778387608 820972937 971048172 792232990 904653954 994010456 359761198 917337182 481914621 631303679 345625875 596316001 385594717 510081465 239860305 736379170 183702995 957552504 656604827 533264264 973143798 467053565 881916756 572863316 287763616 738712753 256493076 747288949 137947210 585211922 888052516 175882661 789848574 752415913 142383520 497047506 169520298 177333234 111023301 394217397 212622511 476557387 397610647 338819737 150137792 880763701 823130975 439009559 866430919 938159495 471677426 536408471 926252737 500241297 994554232 871124398 436353283 147705339 691697088 632914251 136996389 907408250 124881104 592788491 484901887 341046995 672823375 913049536 460200051 523231036 105062835 796483006 284894860 716929302 425487578 455741280 709601156 860096823 951571783 958791363 926552691 986950098 483810533 439580608 460674069 789760549 611970489 128925382 874709176 878980313 609813818 954326856 748087104 405802382 730360258 842247392 239014774 658481930 858762727 767683822 455242385 417676580 208580590 496035521 631975164 984940614 841491346 430645977 509053233 438820809 417169744 822825202 999680281 605680133 574047564 885603649 935994044 786135796 120728967 794113258 731619807 136373000 282883315 482968834 503622845 781167538 244059957 835699846 762204108 528390598 952718166 611642691 504604840 277435002 643790170 430426206 585933580 624103976 548304450 368069488 869840702 750910334 708779013 458451774 619093186 322365656 462664481 256899078 240330843 846041499 448106280 557173606 285147996 274787708 225604697 741945273 670706317 822543327 526422236 530441190 173914997 656225465 254680512 335611247 369729987 991307504 538456091 184619525 313658873 310732424 532106855 993131194 358276642 456472302 778954108 612965972 383723124 492856166 552236361 631951816 507710184 294963929 523760434 928926736 120417835 476348155 184318450 546011576 591672346 557699010 991608161 775310313 880107492 248632734 336193777 370586939 385628836 371288017 358231634 474211044 681342280 566660989 818747167 874130482 906055351 796278400 838199411 480040634 897342049 344346403 891291946 734893958 528237783 190087444 672672893 939654733 925958989 786044606 826113686 230866642 790969261 645734319 812723264 273307734 830659362 774579606 384412561 112035153 216504525 845757963 164384680 262491906 832731976 556995139 562585288 371007347 374257178 965422938 291256734 218991771 685770854 380779708 417729609 537712971 468229471 768961251 602429221 642310529 272073377 610769661 428259333 378867764 541681074 949674391 933707971 120350237 676671366 475426247 390503167 511246423 206944578 358314976 771747990 686306085 717939085 460569872 503389829 876168153 783102534 266652844 264627559 868858702 785291411 943835633 569013474 986573256 988492854 383768819 855073759 231149044 451747629 173239489 835114292 102957368 615048208 912769911 457087214 498057767 421312797 824949988 277876639 530137172 455397244 443868690 347532440 827371587 925948886 383245178 388131533 345093581 527109534 118905070 166122789 258330103 237346759 356316772 241091771 679165566 911331194 948415262 764498786 535597078 401659122 302444098 451765609 999442823 626033124 772933108 816801756 990852696 272443441 200635514 707589353 961700108 261057276 336054979 152976620 525694604 427421866 225987449 458149000 575946171 575377980 564139642 532964713 485698249 487844283 453666357 265642187 471723461 624175841 545632344 151736845 938058719 391558776 858475382 456469981 911066099 713486190 499125620 856995448 990713507 812486895 729327179 271275045 190940733 297791158 596036508 970078122 541651029 783144461 904023371 261979759 580090539 615840205 215412502 993614948 521097323 339216546 576202279 839520198 866410714 579064558 661722261 801377674 382157131 254893631 485093406 378744907 544105734 738416074 531783770 413332578 708138278 223888126 897677794 277240289 304159269 527273833 410954633 875817078 346515251 544567587 297068690 363482551 336886770 229932608 634238551 235281008 400730063 314046617 843650861 626441736 340047987 622263215 794012047 653307713 236283240 357709400 560821068 331115303 277566597 100210309 458741860 346895022 148558848 304730064 123790206 332505380 230859389 360470820 526659586 869236852 456202151 489044936 906842424 583761588 782063282 765939689 706582538 691733520 936893296 166041514 594676116 638759459 573762764 389537134 210411486 883056685 447203951 189360780 487188230 727637879 760500407 538735834 437427970 615406739 315140245 121355553 286693866 678123832 917352287 258054501 128686568 850350882 525348708 906753291 232154389 625113197 434968990 659408850 272550047 423156387 249434395 106427711 315670250 896882893 277032712 653149106 623916770 792334548 476823273 907730361 581712068 614822022 332463484 236287149 849032408 786928027 344583777 606884968 965312973 623551204 677627769 280995101 514144540 187557101 186814938 150302704 324418565 493644969 734241403 987466668 886077706 405964869 981535761 270832765 750812900 891650103 607297631 463250834 787846249 795613336 598053059 872578284 506430311 589705287 566580537 887489764 689404179 818490411 852466323 644860144 907577968 231188616 351034464 521998944 490544955 504609351 340383392 567023256 995314558 625877426 399561506 708261462 554717012 267666139 948647081 695980479 728583437 791519390 476150176 578679757 228458401 983122885 676940569 840783473 926002027 397922998 913963396 865570497 815809050 235288172 754771024 609647676 818240867 868604217 486101693 451792962 561209283 553513396 661238112 937684088 595984602 937352439 859534644 673017041 721079401 650688088 700389917 133069462 977955991 583884908 927860409 814486272 480521324 776410700 991801392 304753428 590497588 747854098 418157940 362414067 510661625 477116136 899231517 447705174 377111292 391874143 156755443 531634677 530333014 660410945 775844197 818496178 484738141 574847332 609615246 436005261 561810022 962410075 191998487 603234397 985180062 967995961 273484579 640156616 684252841 970857442 324209871 438341946 905942562 631199271 908033190 341314665 951967051 778386923 629125144 699433109 692845393 853612674 800773799 546776772 434513285 348453358 161940738 761978736 786090551 657196077 598523480 679042865 513700437 731958165 773289154 823268202 917762761 905988638 734886951 644239077 576698680 919853657 396782962 790413429 113178035 325858812 641598754 774278026 109627029 615294963 940606452 860659637 180471314 250734829 463544152 283299221 424550699 845325349 532906405 297743742 596451202 272448370 777584464 991195733 763323214 868023111 671369178 685897443 213723880 974241387 521487939 659309796 282913643 610266034 895569463 597388372 799115066 441324897 263692396 254062432 198782545 523063574 344122720 280431970 493844732 273097596 508600567 167432293 633408468 440621424 618824106 180105280 967599496 655543808 914686145 782007747 641745814 884256779 373470435 835903651 304851893 854041584 908788656 304888758 334781522 554024527 975636774 282566621 314753606 263445137 518021845 940443149 224967068 768299942 809027021 930288427 812890335 972219088 412533802 741562958 603757504 127872313 146916931 472317397 189110732 614564152 263821405 230282556 904127205 824893025 437476738 130994119 533123415 895284712 110435748 391825872 597874113 336047380 248580565 460608288 327147519 871098497 114468874 349744900 978159843 355772517 233856603 393885741 481816298 533980238 187971779 326066409 119880879 668855471 986558130 865189733 100127053 296718067 578973881 671700003 134846562 796002558 103473903 212541122 473510318 961397659 862604375 878036891 169790903 298417861 517581558 416277282 693609028 121669410 717170138 452259117 997343688 205449303 329306262 431265832 603389330 973233751 100898628 939126948 254623517 621725945 738669398 180630499 527215158 742932907 607343716 686656999 662777736 175189960 252325974 535430732 591109750 875661579 347215851 901605841 409296279 372108096 617243128 331807577 880722956 311915010 287383935 104038938 158699855 457274404 790507577 969209361 820165332 139179215 577810802 921716527 291957463 597916484 973697304 559240131 883694141 534811681 947424686 332174759 596264803 316859286 361039759 143009012 188011726 101336722 577046864 944208682 933833479 255674199 499800897 436176728 592807907 117319141 638997109 355207595 799455273 958343790 883832429 917076759 306009925 355615829 477669680 824464867 911538228 346077091 711771881 879877601 914903609 255460112 981765393 893684992 411653601 941430848 480368829 687691159 804620464 411247481 616292095 100270422 212706615 678002084 442386406 303002115 392509899 417281738 503900332 755664659 496460869 135484735 772253846 338987178 746602879 951929962 605614914 226879058 628745865 182708525 549038240 759498192 345203573 180258081 531915041 411455524 606496760 731267623 498242622 346618244 382346330 380350310 513345491 617602918 449047609 807270905 347231760 411082434 820722654 160838936 975428734 858111802 302759259 231655616 284396364 205237883 115034784 314615842 953196264 651655413 674934834 822499299 331535274 445654915 595701347 551959081 726064192 542890811 770232581 288870070 970873497 833680840 956064317 332056601 597302413 305621095 607124100 736484732 918288161 594998718 281503373 458524850 187355421 645791243 114196301 842470656 662305907 180030218 293398882 247256821 946113338 463418827 650295023 814817609 133577866 334987212 778546662 873839347 947854758 389683792 499783437 644070513 152536277 952028747 750555051 793947621 877790137 825581607 193103827 660338379 148610614 194011011 760091671 970977038 991834823 549783907 826092180 275108235 478172200 784156974 172071374 282986950 773278945 771766661 189729710 225999443 851738998 191612148 259226704 932469380 627604918 146597656 861748620 582757931 552188247 958799380 680651005 493321400 454289938 177565157 495182476 932454181 588113610 292621411 898486170 999972550 857324491 782705796 294094012 934436502 158137669 901656630 865821656 356439012 100809779 579232125 746361734 426993328 713455632 362159801 283058349 348600545 399659999 893738153 199461848 119569616 527570836 545168733 573289942 710252655 167120405 171687382 288785362 528629602 386764512 389950978 350693237 597989958 844250256 211715347 775299929 660588284 534221388 753015033 247218519 734435582 971619747 507213505 286881470 708222361 916377274 160836849 916526628 663505085 867251290 146438412 751746469 226643404 205874426 573538535 594027227 702133367 361814543 217736207 113448769 739751862 839830717 140751665 504046859 384857836 537053919 156531948 120133648 144556717 887532570 334770411 291833571 866980498 528749837 932669577 966090658 172987904 802469119 322068609 328410520 844119441 283907403 538291568 904164278 314795351 805658604 611843936 751236628 264143093 528036819 178629570 589389104 247488644 889985658 270105044 297227562 869660400 233753978 533072772 855354243 942884809 908358579 798850825 274417627 746289440 207551059 213322596 349037933 631474555 642305588 261878976 348220410 575996370 365985145 638838474 319836990 276643852 274615943 686664526 871469817 185188361 286845621 424374928 890355091 385005627 900474014 908997256 389254350 953490421 266026543 320449309 448766326 582846241 750968359 105420570 971087938 579868459 189282619 632041451 741748174 876678022 427824418 264281525 508165265 648290001 386424493 305578349 203415502 222044061 667300948 416329458 928471313 195553045 518064986 169603128 935482284 207973873 784382118 115629837 796154559 912573093 572465374 119630273 533317206 674757260 149885976 225479820 813242072 882817294 338239841 856170539 152893477 960934288 752313719 478714135 766289076 828057010 548597181 938886310 809492337 981676565 449144770 378400357 780554508 965100280 697048416 323320934 903232655 449905257 170392764 483076615 452922234 711056934 581056154 588761982 212140809 283829874 439115680 997541180 925799818 221914206 119297654 687394525 466785016 167640502 442701497 792058198 400012309 517799942 888547710 556909357 445630014 460711274 366496419 102065886 560834838 392010228 937974460 936061421 607702079 348968541 478175725 103233884 804067888 280307502 157300420 201005532 353938477 552576589 502065013 370939883 103625591 475722196 971891492 320618330 111978089 656762168 351985817 448581764 654082483 956833296 583344656 354314070 364949138 369084179 878079218 692985300 148354867 526971269 266288386 753189305 936620413 895160748 799312747 839176281 648200553 752654856 233508735 636419547 339908572 309893420 310551309 670674412 950119740 259269230 965921093 227957773 917641327 186154887 397283270 361494187 194957026 198608273 292480284 476833187 800178746 341511662 157229113 961737694 226120363 872332585 506189075 134510118 309429495 955598707 540867786 700419560 854467316 663096297 964711848 736388645 170772093 110464115 521643204 513973755 406345712 111695690 691178923 854849383 347659010 731082276 856188773 116588581 129660663 437314467 940609427 773778031 303063298 348362651 391630355 995583956 691383977 919115273 498813957 159105185 813758700 203837782 886907414 410548540 339332475 798967681 397112464 896986094 845799889 636909099 287573942 771585220 884239263 163197122 769162160 303592140 534114925 127669401 981140392 219851154 985403874 266553677 774496105 179995486 216872832 376514335 554055505 273297794 254015049 485323547 899342434 867072477 674294592 692081821 152585359 221261647 787700390 252045308 671291640 952495470 328473530 483381001 465779654 670069291 380986893 687370655 349812013 790021347 142793494 930404171 351210999 133677603 581145052 751308036 244549856 229598655 536290185 984792459 391309459 469501618 305274441 223485827 675498877 955022403 382367035 918862188 100296473 697097835 825011317 703096798 372009616 614139739 642467394 479745801 800517772 892246040 651770488 606939532 477582439 341322773 967128195 259420918 210910410 910110554 575388694 937766637 160247832 243682772 621806833 411614599 721335565 273050375 484408693 280299330 988732195 846911856 161642873 558231527 759635380 917791697 702686414 641032202 163232478 729919282 765649047 719845995 103812121 611587603 899708451 496875504 499447437 341815376 288320579 650690895 474304973 542979803 961431206 566004218 944928187 894554499 597970431 716812234 932197629 479678001 985408329 397935895 540767724 915906107 135318681 960016734 285436126 503334113 858256800 414880950 357337599 255914906 150498639 426292801 151820064 284178558 592791652 191226425 722805703 166542800 309522930 972660711 432797726 450363783 683760274 329031816 334228357 225922286 676743000 433465331 770700000 508801864 625979705 731047221 968781859 460594954 288405759 558432991 530812441 660141845 102333083 165762898 384920362 118126720 103737403 602412981 709215232 510272800 446890497 133633371 237859820 863011287 736913844 738459347 710777638 212734748 773212946 334699470 919987317 437283937 779332616 229927308 152161237 872208229 504979803 329519249 199264844 237745761 974735655 132801300 640875232 534413069 520198652 639329828 720706079 623213094 452867144 210614640 325105776 856799570 259313523 306567257 565006608 239037897 990296730 271760619 411804703 992273208 436210607 448446189 354165455 843697026 106048536 746489443 255690917 748971012 416055706 426007381 980425217 884639712 781999680 795682287 801335539 383809920 881287716 805670239 830848191 952903469 480055469 201071863 185335169 993784219 442967282 931069979 981145947 926735285 329442342 355421710 613794612 489242596 612847037 950197379 609047512 133002070 220625739 173329677 174252394 922361604 925182805 740723056 532599276 428939495 178711328 570593214 658588133 102995455 527958663 373751692 100320088 125612783 882162670 252483872 116609135 278493925 442915454 716947592 957731945 757916808 687195796 644264024 972564500 925249019 996347075 457333376 539975575 451959057 260314283 458882136 998671647 729532025 725768496 837248185 599583805 738566790 935808140 638256103 833811735 531370885 721403629 465959165 965564082 971350201 837855064 258873975 628658970 191786402 989090169 149691519 413071037 310982323 921808370 579585827 891405177 599965320 718219574 430810900 693323562 807285081 434952570 750932958 606481800 740687261 515087320 894370965 717696481 592788176 641040190 201594301 478730478 743212024 665346033 921646257 717822738 377886000 259944140 572349575 898963879 321152548 443873102 930256910 198045210 114662828 915918626 563161337 455272022 646150801 541826295 860901772 666475707 959101783 784351938 824017572 362232655 363124646 888443780 462626547 493474691 162737763 267490347 204062543 964101686 778812821 115097167 757024300 285011872 296305444 819860553 175906054 295609179 567595133 670730647 382464079 523972792 196485634 754873477 367169538 217833024 173178524 712233836 790413338 975090478 727831419 454861405 579805978 505509495 919480982 256794353 602483279 876942930 377819800 216257654 394571463 643264556 539205635 443893092 300012895 197445244 297967335 992582869 658760724 940253792 966654927 577488532 202116059 259599648 497310668 839228052 799230927 854964787 502650429 259820510 976743552 918937499 819043107 847512571 456647373 891576331 112335965 374559889 462915564 539760505 717876106 857059528 845889711 649113973 103309698 733721747 142441286 590664109 387845097 885041202 676336775 317414840 154201991 326054389 800454722 363965253 555096663 959613438 413062558 749145541 715432811 218030671 850779251 735166407 493917376 512337507 134261907 775941399 455540927 698711849 942098625 427909212 611785781 210073741 470721276 963884453 492904034 449823903 226051698 228522553 720021105 745744950 625247825 837085743 748303210 499376016 658283602 468323194 852388224 963116441 909668963 107273297 330709094 199817189 735935049 712990960 186682025 123678055 599470839 771999891 427554276 628650966 595451384 799130477 423397376 742349313 204806587 253730599 407905905 280744296 268334623 793573955 362557416 616870062 883877264 998654373 944106760 687480305 161314829 119798886 470612009 185507977 673133316 702419509 755293500 799095094 363613966 682635751 589448564 383842906 431106844 469725342 591978582 727686843 493576705 679165834 308242916 569053089 476126067 344269998 208442707 211253187 878002172 711358873 247115993 254678434 242794664 146909049 760031787 606759432 539543229 861830183 475547268 967223692 711720617 517636489 989426748 202861906 717858759 794719291 600293209 699519958 803727657 486378296 778337767 435752222 528026088 787504640 181716915 583907039 427913497 457541352 181152397 455463429 176893713 612496607 610567248 594801943 145362555 343743930 591942322 385283560 546784560 737868193 316988458 872395576 812696625 466754516 985850374 430634758 746129243 723195785 294098275 233903750 800067608 137049305 308849443 118423803 359900721 730854364 994718677 415966179 333602844 156525393 737079742 422341634 180669166 416639372 502724577 806034061 843288942 581902476 454753137 609151933 326038889 593473252 270024476 163046388 596949778 392445975 953978414 587281286 185779010 340431742 393141684 196304593 778319739 754821946 196301091 145133789 261294030 790904821 226268618 728235603 698508234 843321258 560223597 869404966 240396573 925585827 740772846 824968758 518305804 119076196 747772145 812488878 186274312 524683379 604432959 466868981 773837561 101017531 274403572 964850102 291455405 265891021 733255048 663254025 169417160 930293837 691679463 772316604 903428169 959262689 990172555 704617224 774798210 209525826 788334180 827521746 582158002 151049724 265473270 789212385 458578687 328877931 640497565 459472760 462408214 263011264 347714368 157279140 241174857 137965748 205446592 172893172 502663635 560616038 912757819 340195872 931594725 106504054 689833976 371598112 778691963 952380137 499719958 484680976 956563607 126622868 926957623 336755605 119643425 790297640 281596848 361230920 266112795 594230034 665124720 146675594 580823021 523408465 506015940 949112979 494337050 477402821 677082699 352739394 352238471 741786919 758964773 792307735 734850447 216974251 929057237 300920707 593083881 344111662 440222344 676501347 134327242 650619125 816337674 164232022 219646393 768289509 783484095 535195759 582386603 504457755 753496016 371196427 273604184 896251329 584149580 565483011 332007319 709678468 663365072 447352402 361350096 910951773 844546222 291820149 868588780 703045097 256791531 907596415 760708749 396566568 251564179 817041005 139335818 728357294 362836568 103927784 243374276 814042586 468036734 447212726 703445687 107590029 486968382 489984763 753395120 644152370 685559254 588109107 252936124 916433769 118613809 422538214 776692154 681683118 554861222 177931256 666415770 450016040 579231659 823769800 781848827 853130361 649588454 424522767 826785962 864545469 838033838 996815721 239861990 196636211 934288171 784545552 726116061 226480629 982587272 676284517 423328717 445897302 227333604 940098417 885748988 509752700 944080460 129492143 521673119 181541540 758951352 548317280 849837016 333574931 158053406 794706675 325116913 813885374 999685239 145616467 411530600 300528903 758196070 933408682 766325680 546520750 887055995 981472995 705360527 510660062 285593455 515810411 362773420 864916897 810326492 993260137 733278545 954134372 246922845 610836254 848353077 852190900 570638652 488402051 734025049 591139319 332851984 894038437 984947698 670894690 430489520 121007686 361819327 312341420 203955447 704549416 724215802 501560336 799282645 932818789 728786905 474588406 445881008 577563827 804690798 226973072 133343888 625649837 704750005 611502996 550307241 988025044 641384486 417612923 545131835 821780091 405266365 146253875 174854313 160536807 629248137 569627703 708195995 678327888 877644123 533668491 283855659 210090322 698598570 336129043 783213466 383950335 675905745 245677055 596985366 299118057 108938529 822756652 427686052 171146745 360938937 984414026 140793251 141770461 691936525 939654261 959905667 746896524 856198819 215986373 434171606 499839430 974364618 169856472 485136467 488007135 111921452 196161166 796669791 220197637 894935279 894710528 648430898 981915292 818250991 478004761 211584748 903177426 717218943 566545679 583678033 310747133 157525209 659961054 610533602 439359863 780778789 407197650 193454529 372299979 647711632 468974693 333845384 201820010 418738270 124933930 180751361 584499123 821019423 824857927 835656793 343320628 111037681 803617876 252075972 417768202 515069209 564761007 247537454 125878727 617042817 721311697 217785784 673671247 123999833 432025394 971807743 650005217 712293367 844413737 768565154 199864068 787620443 908861807 806208912 232974731 636899901 938006931 867674283 447369490 744054194 162951596 131851610 253369883 684738451 691773316 834850308 597111692 882418278 974470572 224716670 258585954 739317280 956175510 843337980 889121260 761275639 576204960 423936283 368231410 862257519 892145012 378742255 394919844 437135453 118347723 126468652 208148613 462726164 207545391 724463496 215110465 932083740 824671329 654114667 481746981 383599719 395017676 228121931 476187825 217949802 692430605 540025792 168781341 692839582 747929301 893450813 461775766 266714219 391468443 683361623 888991226 556047061 411950649 325722315 341936050 708941080 573269625 961508806 516948329 562101093 471211733 894943550 587185738 366939696 632393133 853148218 997227553 737934298 846344442 919496779 773506696 655635911 569755113 801593881 879843563 883218394 517535840 644077749 420515872 360452957 428487765 871518942 586009176 568746984 356976139 149729369 134854475 867428839 542462495 225504954 735004006 453402091 334712506 631974408 502167244 432683643 618745878 290639032 985171019 928136533 384039356 495879716 607140347 220021686 196632312 866676335 623759060 512864849 150202046 684606392 447001299 293332995 677888684 962293147 194683698 559163528 710124016 620070394 504430686 379481763 237893938 291975116 137284762 618521771 690809061 122766671 382042569 381734183 995918926 304608135 935190876 340588881 989586554 539314349 743104847 915077858 731543051 532834157 393735837 447585908 666857244 966897501 741772791 712384867 982659398 659098215 405179727 195924066 872022464 585593989 755487774 228702350 516803006 957879416 334075157 478785798 631967980 660469277 461127707 397737704 412778527 160585679 576173118 308495824 122972546 558077266 200556592 734261924 912923102 842085567 909734722 432122416 654641545 384744718 658309811 700576732 788417667 428339078 538718781 674013371 621981914 544706037 262059983 233999873 136141491 201791238 588220378 248237253 189851982 279622192 688111940 740461554 589295894 102688292 236028470 554172223 522187419 651396381 187731291 423381569 744190271 127893961 664471064 792697659 710842876 712121937 280400937 829058617 186841402 813720785 870141553 263005181 931952913 303615608 707024147 311113558 781877144 170882260 631698082 887422789 780921128 505235600 685615747 301254416 386106701 969492924 794940279 302435492 481966467 193349437 984631746 248393274 531772791 826353076 138923683 902255773 476139879 462063296 956927787 517490379 743804100 705765058 778585568 492953329 104696858 938186568 654734790 466762590 849701578 423968036 720847062 788874100 235132069 796783486 339792581 223502170 331905592 208682673 138881479 644926146 222646243 384762420 156180964 927343242 358868455 113037475 738720041 596152196 265719007 483823160 554798097 233204340 455248525 749884199 795283369 550672200 828731778 995576493 358081638 968333342 835274377 428585883 566934152 970052674 991838913 687189969 559160543 341088783 633339415 534384871 829961469 474456541 811545550 164649283 557695822 868596495 634740988 771171527 725469545 202467895 220370062 529166500 261632043 408095607 452059967 817477038 912354494 892415417 932426911 784427803 454010063 593461237 650132529 586187827 616895832 840180333 986706270 855916076 766482350 698026446 609013827 508866133 514953465 300484229 550849252 848115305 435696553 257887692 128566907 916136284 212438165 814783123 984898522 945976070 654142849 414899349 797780987 379123269 179827678 529265161 494380338 144309577 144212493 286898049 223202507 968377082 168457608 390152126 649511479 222579634 573520864 841971487 716009182 615417455 534046314 938892554 484994216 968441955 343418393 866703379 225244504 589528232 754893835 478200837 758395354 994565099 826812367 111622349 558605106 938449599 560974392 653007626 232016303 880476828 708501506 238388655 600885343 890948194 816749727 656989184 750347101 575850738 407421784 545433896 199810987 716742466 409168959 972032152 852498430 440979521 765260100 741610987 700050758 206174694 375528419 356738349 391677111 947519728 998255167 348842263 218944198 941378761 589750988 783538858 761186852 581405833 764544670 271358599 536026115 890035786 643060449 264527593 980423649 307782199 187370538 803500226 540984056 658110829 874873934 697414150 377899418 219504383 649017727 690608893 916236513 678837720 999792727 456580562 667025766 281951237 746451358 889701851 112263576 378596853 457952502 462166270 675429971 910869437 110330830 485113001 141978414 286438681 491298614 990625768 521856235 701617617 875412284 181830676 431414203 908270680 552289937 808331401 437102099 728812314 852742182 266596988 619841661 929551638 689105706 317432594 268087571 654901166 281461099 559847596 112212074 726201169 951321410 128484507 703293045 672013947 151707848 833009809 430797848 450977004 217211486 720196930 361041242 385526433 389163478 649261556 293917492 487039348 294754050 129310281 283819923 337276943 246804176 376235254 372591336 356966298 362571222 300194660 520077465 491763385 365110407 620128709 386342486 290430050 572334656 579174233 267809548 643248909 511898111 533359380 588540411 649788527 588907790 819826876 861197486 544749822 499927122 193228428 537902210 441516810 808682711 851410113 436256125 808847667 671166596 959107857 317241083 823247316 978657618 647669557 692628702 657005917 790639735 266934887 849258163 119217534 182592299 972796051 295352154 995782441 540484830 152181564 958921917 100346593 722080491 131893855 809769286 539380549 929480472 410904347 967710134 570123599 484033744 667325569 385315386 530663133 951444522 308647986 651937273 450512496 284455709 477619641 164057727 473991812 788494210 254119342 157797690 194218435 878209829 554086563 602650652 178358197 634517499 667985174 359227433 583106896 699934445 866185815 165077852 918787050 197414298 359502566 521279017 715913240 831899481 796171781 635541818 211546080 840630574 178044892 459507589 453852185 260505371 351261549 261344135 927898077 631961481 929768079 425821171 493515802 705141899 918041735 972317456 615386106 402508584 572000872 201954204 207563374 687075780 653786046 457981088 365382560 710609709 583092624 273800558 118151381 491285142 677499349 526150556 653808145 656111493 721648955 595816505 887366549 630141265 578766273 189194013 179678114 764994152 328276070 556203250 508881607 436952331 140071384 996427875 370822252 482883955 627479052 969733174 850261108 178909560 740968619 652797376 179956012 497757466 361700494 794235521 836927554 486106560 808522554 147905268 953646054 973344595 797846867 683377915 551618109 937270191 707058992 511905586 911620001 427629063 448203933 512603215 688658137 974114510 364043533 473002179 157468111 301744310 362234984 319396602 586349479 563201239 396963926 737796896 252982389 999937875 255977318 339632519 954856105 323427674 523762469 127718227 319542853 826021365 453859715 701988801 761756087 713077465 954035500 333485879 822003826 812526078 193578123 508441836 105041000 696268434 735193411 948006487 544664909 209168252 416678722 532561782 590742086 434594753 444285635 982195770 592216138 761048283 967190697 934151663 212856440 854343265 660193239 761828504 619483021 742006438 628590738 570375090 818914253 307684161 624280094 924184005 694997781 974463510 610660212 122441314 202818950 980172055 122293699 109933460 695510909 844284614 102988023 255753335 653091886 496086249 521551257 809271060 629956723 602082287 308958316 199438022 777728066 555538930 187661168 972860814 328823704 705517717 945587465 482191760 113636287 375082975 604123407 178897596 251124188 501625636 767230563 510908935 568136789 166607557 609852982 800781223 745085758 759231919 350106394 650538034 680054170 139416286 445207908 668802444 761632674 314589085 493605357 430890761 550489093 225851675 934495558 491850898 673679679 603158198 174802071 989946888 875518779 429931569 334720934 958355324 200954400 811901363 513041254 827107169 525328713 279158425 833804718 376508160 536564709 240039400 258609537 940303828 594714688 878363830 136675019 453203399 295230166 831920830 397762336 435446990 362944975 325944205 767528658 246703179 288832580 197686036 996083511 341029183 306904898 912008200 672984974 713496935 110224057 870668670 193502986 953695590 316150905 584880453 740432952 280405190 744288452 537897365 175550245 130126354 430788058 262089219 247638590 861898302 646062589 554090789 571131540 365588379 580268066 623712697 876619104 216298081 189410751 282210426 867549962 349987234 166653287 300365715 365112049 782087619 754353715 394126832 689280942 258953954 367943150 335964162 485629774 879589580 592124180 771109930 478041205 842656822 871581331 290952356 721696619 955337611 673478684 604648801 926522182 809829789 708358016 651436901 653945634 674758377 774164910 596224189 865818775 355513601 106863595 761863330 500858120 924266532 873848086 834506938 172244210 196650185 341041154 252537505 803060723 162338197 795186364 543922285 767028165 610169949 235230040 895352948 153779247 595037140 278287136 427621387 472677311 217009856 387181632 761979568 205972266 463032311 951404727 377045139 431870405 149286412 838892215 673107843 623918981 233156223 960215476 874818587 543060792 520377765 417894724 195627593 686422756 817220690 512977881 788807162 828840548 368566164 264060920 549647328 849416517 260363434 881727244 972682092 593417829 772884064 662832254 408821902 933567736 307924353 908148603 985564685 627955876 809314442 868875260 281329025 236981457 714602470 947044881 562530757 907726762 708659319 408639023 122144833 150997553 917712288 620203978 155023785 704527308 594686491 160603935 546305400 493120858 792403189 733784635 783650193 726212665 967054679 459159392 727498590 976544611 240596714 548503341 489509464 810248272 940423513 400175819 533731234 960152698 552040435 673416900 460603529 274073869 956775490 999080737 920614848 620592799 549276383 453777626 358314733 333931730 261255633 376605592 715685886 851846158 606541642 801778473 403719825 942525351 931857684 466128782 666786062 502641590 154381861 435649536 317385352 881443724 681612310 904207958 136090602 569760423 626945063 222276065 607058721 570938057 239852000 712876296 978129384 911504511 672743441 478151881 736514117 492929682 226901631 839701791 679613544 139440609 897550229 205464735 436040628 740279770 331900725 171118298 676273300 657122755 685255944 108887851 205407067 704877134 878735885 405784992 340919768 255956507 271254132 809831026 444678219 699300627 530300967 803709364 583980624 985055085 610306178 281172425 792210883 279290601 893377141 716441863 838580483 613970006 911077576 310306724 402926252 261436540 497091615 612021615 354272245 223088148 324706322 724898168 147512530 780806806 166625860 662905843 612300332 557310236 890196344 881664350 191842591 204959818 444607270 510534992 582617035 817937398 450739529 187081990 449182722 256151021 485164272 531273692 844351149 436312151 874726421 379954662 942767039 165907316 291219716 470139181 553618078 904023791 542467513 932523353 698101168 146535107 765080756 733075540 693190519 901312908 610784725 577695403 788153271 180824787 527397646 691543296 737742241 461686921 341953073 393083464 537321889 363864826 793499098 432599613 141420367 408944386 374926720 885063222 887889464 414528960 559356331 200872851 603590356 337193861 924579700 398104550 919393243 776753577 737679373 508900263 938759330 564583531 298885774 652350631 840457023 390363164 782025863 715835138 434494896 663901295 328784928 316847038 136626007 278924295 322227436 217243125 385738432 452812101 187663169 820470106 699075456 298886015 968894872 841687562 302893361 250999744 694168450 919423553 425156054 429783690 421520184 984856744 367071556 880422660 903029565 290679244 460259442 880786178 940269917 356397895 169536823 325711589 200287228 240384213 999730537 716947511 321414538 867411614 162906967 722432615 386370285 542729922 621290162 182022361 189148343 209433728 122648964 693497762 857667284 371617822 585523419 221932701 121712576 602503827 941269118 467197817 327664399 299053485 333056238 320768608 890539527 137113506 702456909 573401024 492917808 676205888 548227518 557473501 346342767 156135291 726685445 855222462 210965370 646582209 730644363 777011387 990503828 100621183 805135912 253326706 506192791 797439216 351694095 104002719 418984549 326591056 577616720 536346220 174688731 447273579 473599367 742350272 123612347 627313631 861306769 898400422 465366899 894573709 409569927 432200920 909350773 856411346 974924530 604077083 338990111 970288204 797056301 202139023 775971075 977473611 910973999 377334430 609439264 580333399 566133371 515820485 996371064 760423386 690076550 905213193 233705303 795322688 247933090 189923945 238332943 642667594 341776195 508049860 194437916 355055934 619149370 734712505 774885850 859363335 269843122 216168131 537167734 302367177 307629954 275298278 822976335 975989698 307448541 754751884 119431495 228840139 547037258 553129924 742892092 493253413 942922082 655454029 193007405 859056018 868894348 761311120 842780854 195169399 330481977 336877771 176939060 744293107 884741658 684276437 204731011 154292140 208579594 260463014 697665040 839637977 739731677 941631044 174200391 795029430 253999998 736344243 383347687 580694701 602364224 232536745 826083740 990133147 129438663 498577181 655722805 619956282 963193283 383914331 908018465 740522610 842925113 909329369 417078074 485898547 304131520 349466371 869358038 319016795 424064225 549915230 507879035 647036965 128936614 383469647 326667623 150916812 675100913 823168757 967053685 172955728 566627327 588247840 336287359 964065514 899723176 240581390 679893184 313331329 238618719 595328343 811144764 171941839 189042151 320123261 778752990 803360137 145759376 579865189 450515191 592891882 818340632 209694465 960709700 159097206 339450325 602612224 662119473 951078630 432127306 630393510 486576822 410329305 752909428 242497485 331639443 484462439 672712230 966050318 220230501 490298055 130538964 496607124 657222941 536515660 284374850 195355866 281809747 703951547 757106356 175051460 508765786 621028249 597564099 824612533 158095680 718809847 137814136 767494076 813218153 479946489 436192517 881060554 934295178 615991724 605202339 951411272 196832123 519826337 606244341 610576896 135999335 876609501 321812056 584027849 657635156 977056983 597868357 102749499 950879626 209913243 925936466 442569806 908207591 476157605 139448896 695664039 487537997 184163440 305966115 879916027 404811263 364531016 939800033 824538222 642608527 114285435 856180982 936373192 777112434 568339872 887754732 475503112 558762506 592753074 609866291 113249015 806266881 155499528 706755860 660428847 955451338 826063030 739834424 466191132 496355009 664448295 983698476 332818756 878340504 132125771 333597363 657516805 689490352 849432755 856988226 667514081 921772405 932218311 628766553 217446468 254518616 258284928 255867155 926610968 308749450 303438471 785899909 496571715 595845138 798955193 432389993 620004664 760986651 655053198 368027554 107320634 935093745 944338033 605965388 133693975 994855740 646155412 507906179 240036832 476412424 188782458 658912826 443600057 553737872 869815977 481557074 172281874 664503064 944506480 369854796 474459016 667285152 636592829 256218351 164720069 355762530 857613241 249007376 304443435 568643088 280904929 213513229 224787673 304623461 324939288 293632246 249936150 859353166 541140100 657905451 221014624 947176571 970099187 963346516 776899315 404095812 415616142 129318838 363303290 996129614 446438204 860602618 448636027 229213195 315372828 186931222 241693476 235043256 689579443 600532263 740375092 446608111 226904792 530935450 260329938 732034766 457330793 667443712 819019483 139029746 394722779 568237303 412963191 959409869 678312533 179862255 963578172 383719588 972730128 407821555 997818580 213002966 775211497 332265367 265654415 462127940 314766504 743142186 709202066 550681447 278064712 613647548 959531150 688051291 494947834 580713136 108782461 330552886 337269403 236707721 348480208 467775117 122217665 601725634 546869328 359889491 633194314 542770525 221537402 854850903 825589495 628455694 414494588 960776881 770855358 260901989 228018045 306846463 567992908 979389194 210235301 167852662 747246216 226565191 772516657 832742486 209062187 779767986 781529587 479267468 757322999 281015208 947266288 664957811 499395393 861284278 659501704 960686880 758009254 497390040 316175464 676918102 345051015 225214988 942265464 366051394 470115968 825603647 723935938 844051124 228585513 502795376 454584833 452935538 361603361 296715123 119472355 852545232 770676012 248341868 478972182 700359728 471975705 228703516 126693837 658714956 750595847 230699029 720828219 366185413 205356721 617437982 608058957 416452183 650459994 847297257 162846665 537645754 510007010 852494569 374062129 505176330 151179451 427930906 996800661 724253266 574729690 487253139 705863149 411018398 849814161 201058409 646569210 898919982 890471351 890904057 778293762 160924016 400606495 217131198 643356275 877142646 719586147 723497811 326779361 425855866 993099878 351830172 792052311 417823578 452513563 240378474 330383656 740630488 517540223 524040031 362293714 762455884 569002586 663105003 584162238 240745521 476042977 623110909 921415165 713010408 209721587 305502990 953811616 376596928 876670794 444604403 609200741 536735745 303349327 817885308 313618230 773899329 113572268 351903945 129965577 691729841 795929647 940040444 433851560 386114629 641788250 624159678 729122167 295764483 372198063 992223067 145825112 997554353 747043282 225745568 555707709 342690917 726177120 302210870 446983885 580753196 148022905 527153274 616654032 443486587 907933897 582536663 192649408 128696265 479126428 527149734 612786028 162200185 335616809 589609350 367525598 542811135 758820941 997958915 910755862 389396941 528182458 694335137 261509461 925026256 599074931 181362010 154362758 598879365 332681133 314326214 867679417 769278255 210420293 821222851 614564978 507023210 266864865 787885248 969212909 674304048 252684100 302694806 634283668 638340847 665625647 891482056 574669810 993779536 993482550 241829785 278096864 620020477 495297738 194152211 909480681 141666521 296145200 873138081 807444470 877322397 193487547 282586918 174828501 473026381 379935172 748794970 631909416 712956018 254040989 303192801 710356318 913803193 108835625 526889684 544941487 885102356 140656952 474473402 833230624 194936895 561806187 107535462 572889029 292242286 950380795 939472195 797979140 394145797 152801286 390971752 685517802 350893299 574486675 517709816 741324624 279209037 794586079 704465853 594316414 628240087 846429494 571300310 337073406 197542327 871842780 309929569 487027751 482012611 133491929 113756589 357631740 749612547 911090487 298159517 128214030 117745404 591078395 486961567 999484125 742192201 652768708 437014113 741056530 202852297 880993661 860427602 905881817 542044463 306128472 505692265 927649597 151679470 104710956 256565841 502844176 240212716 721220077 730198349 562295108 684018563 299608354 173985402 729437758 421238698 299808221 882759010 590010121 961249361 448729337 259417712 527337835 574226109 236065946 262599177 724375535 921898914 539126954 901389044 353860258 834314838 889096695 691328205 587730138 826699909 659935025 282008776 984294077 290879425 335496549 117180829 658888815 947645347 441644357 154470188 811592159 468746571 738885534 514445442 868590138 439372613 273203590 419107477 685833687 246509003 169593964 604422009 864835919 546223914 841007138 860223673 143511198 875491684 794611095 996308380 724005816 951142565 485302437 928023621 514744451 620263857 936578813 174007928 589675323 402252781 708517309 283452904 751162871 901519522 442517360 637627464 390007114 944937837 897036751 110757103 802748486 981302447 302053737 533911641 525559067 612441571 136550220 772868063 307382279 788353172 134184388 578102953 258498022 767528214 611913917 798994257 861774473 554343405 563359710 797598727 543865154 106140849 547444504 116364686 945109903 457051704 129911231 335561837 527790852 231839304 720995418 563884482 871643506 828148611 438842244 505752807 703659534 385746037 516273113 255460332 501070977 430186007 947523841 673548372 294415803 465540086 333026653 217324454 176595953 760808253 371136392 122162217 244369251 932876892 151909233 589811802 465162588 162036966 302468792 653143162 493472138 200987861 628610799 350537802 170778439 385291445 572532692 200324789 191094878 796400506 199633596 481673063 949098580 787386211 358419562 602793607 886561971 787735576 418700120 684670001 704566052 976902092 564885231 251306129 209936167 231984900 631534108 254712781 145619419 312782023 605994168 542077160 512887458 198375072 649612398 787699877 807036492 254345098 422092656 932687717 585789689 730358150 546075833 427580040 677462437 756261861 965808880 690175777 239909159 441368269 554555282 570110786 236562926 460201068 568034761 781435284 423676901 847946140 123992446 689573801 571848635 241400130 105120973 809282835 970583113 581613595 470254633 742976189 779783306 172983062 579288153 867480187 423015407 998702055 737988224 288901433 392083872 885727398 503117951 291329081 447055173 650219761 142425361 488481906 347317015 778847852 659293399 428001978 445978063 319570721 924171041 775511510 469612575 341069738 595221014 328316691 338447865 132373222 669209302 899868894 912348958 893567589 536633802 787195001 809022868 515446217 540972933 404160314 507430789 991433966 639042151 567186661 780940606 584973123 952733264 359829399 357677834 613106568 430908074 398926654 790437103 638156828 356922937 985844766 519557546 128021180 597688369 425004709 251515871 321718697 893766307 253372022 742674446 165162331 863643758 616039135 729913598 539533744 908835952 597917108 275364730 174403238 665604037 784401458 913752741 749646941 609595329 733484618 200109647 791340133 148000468 525908429 987551455 444960929 633394595 163495142 799619773 225331106 233864617 831129086 928435271 770217814 613201922 444977169 204394537 816368756 265050175 544394997 838353973 560325593 685420334 731844169 816894838 460393366 518238846 611757100 986380990 731273890 490870822 187853690 468515166 799352410 364563129 753293284 258276084 176537068 950144771 293102859 408001292 583023474 109531264 744824604 763571793 390870207 389121094 875744503 588391070 119486135 449643754 843341217 777616693 393478654 314978368 353719171 939756929 314603160 848404938 654337826 738489279 870034091 835397368 831185086 728299362 462009326 461462309 984931616 876986400 850939106 382601998 944301396 646762794 894061094 396899537 818014435 381603252 363487855 836236098 268849682 341351609 834665685 199760180 404660918 867469213 385839100 444731055 745467833 313981941 880311805 112270476 106124893 340464332 876836072 222460709 809944594 493357561 923210505 166740561 304822071 515565775 687923895 128474276 852795768 567208539 872184094 324584413 564101737 550103387 343121147 872129106 794998483 502885443 606168166 403689149 509996071 714696490 100429327 889596490 435304325 221250652 731189684 799509395 803194265 789362161 205728319 506571380 987074370 593499908 362389933 971487893 501882038 802438823 375748923 503861571 624478540 109287886 828742863 951807189 101967815 283836691 923647723 393577867 759034181 733552256 937539996 914646497 421631744 210579350 123718982 938956331 929473306 328882729 957133834 314200852 839083211 723380538 628840886 237645015 613138101 649438603 739508553 192406870 233984498 714053640 176626760 393599572 894376418 251286689 607520336 769637484 603997447 796024546 630651529 327421342 735068200 637606228 987144626 358845404 218699689 766231384 598283973 547373449 761996985 121815131 855836866 273079547 991621893 971685388 518512953 508122636 813542405 108913048 127578265 845044436 806985247 859804855 373796135 555635748 264515322 841441598 781346360 954239249 322224393 223596602 659022394 207711111 483256319 395331187 950649543 577369557 225946071 660853290 575721266 343259754 322587000 354459476 604627357 158893947 572802687 581703192 792764428 337572606 429036852 214266698 367271046 957132983 681820560 722739893 681981654 138322840 197369705 977101471 634215214 397205956 742968833 479659471 258524175 805243606 837733577 945074149 107333632 833041788 365482067 314299582 305216085 790976984 410221633 672964426 145803505 214350123 191666465 219723355 349374604 339116014 985082721 217992473 685071062 248057434 508921645 545307750 453754317 820849603 317672944 773948326 768691630 308030631 378480144 524015057 959749532 669410504 555864926 110897155 218498032 608205411 486654665 504687793 904309349 588613385 423451044 758587024 239922077 921459251 877805811 705501520 876429576 822679573 745549784 944173837 106519043 576222734 274094074 687064747 757893634 618190687 650057965 538546649 363690487 333549896 985519645 483531632 599977171 625256519 255404156 800911502 613308929 445619277 448442410 485156485 712485812 743980077 803559665 636758317 865027634 326126590 577202063 803999063 103499874 994371771 415457294 478417771 815729146 507352432 270162047 501937268 539151698 745121537 789845659 437591779 449685733 966272436 401571530 503257569 911143143 267558235 319652730 770984261 300727144 965643706 111719556 443736980 845318857 283378361 328701587 731345831 978526993 263242254 423023772 207281644 971100487 467046668 493845050 581623795 166355123 696358903 562152938 271867047 401675452 824299623 578668986 847950697 893931817 411495106 502207378 712912519 994545276 175357712 483366404 656444738 564690120 612993965 864291165 199531642 390321153 385234076 899702312 862029760 253226806 971132718 198889804 243635026 479867643 532238316 795120685 740758339 513189133 971466295 118330484 640680884 969219653 502607269 387704490 782517393 399832572 972746048 491553815 543498420 501880403 426997878 852662785 278707693 692342189 291302537 727529148 251793958 950996601 417958089 164839277 766789800 546142094 644991099 367405272 840535339 827167554 291581621 659712838 400476397 475455844 821939182 671072858 177582777 107251414 347964921 711847854 970477341 616123643 785151733 509257875 341462731 547079121 890595654 637846349 433264804 396281460 655615862 670139396 479936969 845024044 389127670 741698294 787314561 646976921 502481484 240835035 582988922 253895517 254359199 530428842 904179893 666133050 539189322 130053215 958695709 874677150 465701398 480863461 843250592 612180884 288159632 886075110 789615923 104818819 763137826 926397607 669941788 520381061 551263073 784152676 852279619 614981614 291034723 544609104 567051087 186468365 869743145 278617656 888846197 155095389 176709462 398785749 345043930 979960434 729318459 802883530 540591761 726919341 277137686 249729809 747707024 359761051 448014126 979129837 230157566 948347712 645030323 771229972 566517974 367794970 160609475 186724976 714509876 115639300 541004293 313535367 307521085 250364469 127590261 259141961 754421074 109759201 968413172 135247911 148162553 551099696 168497476 462075540 805080413 887469542 780148507 533373227 912704829 805932525 721516815 989142937 108102338 500702638 733450815 497804822 703601316 829287776 345755435 100756854 798359016 118924350 980822696 499247705 105905885 345505686 212264867 149442433 127803967 506517325 670883288 109945570 620372443 750482504 922165927 436690899 113334054 519521717 475795002 806352462 303016324 110624679 527449113 945292963 262109019 259713160 497723711 465223973 740902986 952327897 499596328 303567552 853879228 185666825 341017013 559639754 233117513 966130772 755024469 548259419 366547472 394771486 791492754 843869000 436705144 536437060 431809997 556793599 451402517 861093722 464187321 795329885 822297965 243242255 634670378 353842740 667180255 279864507 260229662 720639969 989080531 125226040 746635740 503307352 267080245 599658180 813218320 876300011 167830849 194084123 517397718 751428039 873749566 741406905 747815290 768745699 656084874 985785117 431784353 305564679 756896856 312584489 942024123 237668681 608901837 883361752 900966564 487628923 144042998 225219730 614043082 764655034 193700202 326446984 840586985 286052310 728538976 813030724 574905740 397369455 798615176 299624398 233526553 105075882 499930600 468728539 227565599 686720561 162037480 306861893 638467792 603666930 163678150 754796537 851536766 306477989 823298650 584395025 623641203 419617901 336351006 320637509 758475203 422730842 928036673 426977505 529508446 151882880 914704114 698545674 447774613 326948999 901780812 130363878 369382855 601235598 446165734 242572041 925052949 222123871 625306640 898531158 852713189 331512740 372732600 650111382 217985707 741668864 879190258 598722996 220903916 176717501 104240915 671366698 788793546 836953579 192959210 275316021 508415493 381383246 519275951 477119967 536852447 821038717 421378978 953164485 774072935 126359275 227556985 471081397 512389343 733102582 781371172 425598497 209844550 801285195 724401554 148445777 723042001 399436728 957675578 480517847 376702458 662064919 430905266 749143698 187673152 941750181 213561554 110255334 897657217 122119092 560400768 900759469 652812398 853782596 446322197 160552950 986726255 706155064 264820346 326568935 161571218 670699212 371727844 243323664 588342225 801991785 935130707 936897481 627113510 561983944 118958513 496504839 792641205 123210311 731695599 519197393 984171417 581166336 598337523 532353538 260227324 309393670 760997328 433167381 606521073 459428379 390733564 500173733 957154775 158031193 862030241 180347665 938196134 170002885 936578872 792238463 515271812 403682604 146814787 137592300 809398808 521504987 654918817 969871907 980485256 144934714 321536876 359996092 647557002 808266382 710297944 485317951 785522984 945315174 170223661 907863309 877848954 534627010 928804616 626947460 889971483 308768196 633086198 517557722 861151103 893304380 618086618 497046649 660974315 205258579 941514550 189050639 292967905 210865579 850797687 414715112 641996994 635286276 461637220 785247189 349039192 892373310 536561085 615032924 886175484 193663024 771344794 196448062 860994176 864191272 732981579 671305611 209441050 938000581 499283367 633638389 585061320 793705936 356891242 393638920 480172902 554137189 909729742 754925686 449138295 986385311 176550407 956264602 359860790 596266484 382711023 807081751 194655919 849391149 921862938 737425035 836065809 944960193 947390842 584852702 950391922 317536802 397455775 511507231 566368554 182414944 678926220 795374145 296410004 559102035 448967958 890386177 737685035 613465297 201170786 920118683 389981746 709669575 924471470 423067539 495372203 974610011 882464668 945987912 169249959 572351789 128109659 387398047 859368074 718650384 873100886 346708115 200310614 139139717 320640666 848430846 651797320 442755498 695690709 798485420 843282356 453280689 540143832 646307319 407266710 109702935 291928678 632789856 914962870 535873800 335049938 280832286 602248041 427465664 606557114 524640602 938711820 603201584 961275761 161462506 396106322 753882284 977926046 597085538 235198613 162076598 483295826 513945861 264739040 503846545 215255860 649254371 148961211 905647484 362375310 274625029 975614366 178125906 667721114 176889528 631363972 173403696 381512967 605206738 335905499 885519842 484867391 830162882 953245370 407539493 781732528 534196250 245454696 361188107 930939790 811986236 296559962 664356222 584407557 660453207 140243509 193271764 843528459 439591450 155566568 108512396 336473704 265501715 956334674 475108547 492264944 766873821 403201811 714818837 839872477 953982809 492463205 626087870 145029118 416119726 885288590 708420205 569506519 444588989 448770043 765595782 341070824 394901960 507458331 346781692 924095659 765748553 983002847 289330417 980274123 719321994 943886508 649076355 860289199 558196484 827695515 948063644 512653988 737235253 760860801 658172598 436615696 581760458 328157828 299007652 646697148 401532854 608718713 119206584 766051423 492022589 830514394 915767637 879243214 109823364 712081855 212965818 985137826 232655798 776016633 792437085 678282875 968974596 922759984 754013286 990102941 111473140 777141424 287682089 943555848 146180793 524020499 881308758 480768357 293124412 302552103 859818739 913733024 464011643 249216081 811121871 634401787 606691798 130134769 476237114 563062254 533904894 862378768 306859515 146521563 865972232 620054566 598674630 177972453 178203477 619437734 600876948 347838817 285473186 107323776 769533281 500507783 273703351 788780293 288813875 843782342 383297452 447552306 215814232 512662929 377926566 827414604 513528181 701770605 999841250 568974923 650919349 865059023 899712892 482336891 740439246 387853931 319397250 118261118 235516081 418881820 657358631 346833381 251891329 876843108 935331135 250769396 852048044 993075877 826784353 561854860 291695995 531511147 521962281 312617119 467705899 950737260 411747094 283653169 191194722 218123651 653213972 598455827 794375651 209343026 166918258 551587407 306421277 324945658 327111080 764842215 815973000 521946532 748105284 167994567 959499044 576637489 579528771 158434924 386720221 748434889 703339340 313196128 849331753 312944719 993089091 300026045 444884415 788891294 467040850 747492215 138341037 207317958 961877992 988642779 236050314 525966861 468851031 928973788 407151678 955407770 274763972 465347744 116956711 369970271 154775487 159047579 464097043 116059337 441182533 825643400 500642071 564570529 590863312 374134053 427434848 792534316 179583150 517399180 610231497 711886704 725035539 317143323 314817812 903965927 426052524 915961327 822933921 549956535 338350283 497373796 461462148 615092770 721338906 891232343 871033319 609304819 590565939 651159962 498858784 240473502 854703220 744583949 736076385 439340914 305185345 199714591 289604009 523856651 392598067 175458465 768637217 983911584 584415541 458832641 936319979 337524572 790004939 652966932 557041528 479883121 335013595 327602148 949483859 699253961 298435680 429607918 982014746 179168775 991513248 769524164 610255798 807797961 450575879 699226386 848538901 822476279 160020750 743955125 996378863 679184241 296517099 249410325 504762903 733093849 212567148 282300837 786883876 206766281 254456677 206460037 354277173 878095631 610205552 167800655 105131393 393096849 364330720 507957592 419368777 110949848 311538951 684183004 224995867 560836033 950751537 435673543 770430897 454356449 440605255 194641213 737121621 891865894 851086352 628236566 660913310 517516087 643839724 857265499 390494037 164217455 471288905 923080096 395108831 614543942 813727493 156188075 408588654 984352946 186960480 991937112 224947239 652141461 544112511 905198842 768166917 274946843 422028284 615988478 521842054 695125204 208548179 374571281 910045186 632509166 448739704 966460483 780281115 939198974 100145794 228079690 541809840 906929952 628784033 258442609 211772433 114683743 832836739 199559110 954454979 640749562 426276146 949247398 277549192 543934819 798368053 755610730 112699380 548928981 605147436 657524829 856806723 608035895 829723345 407375349 790149523 619862546 237803722 955846790 987474121 600876430 405146060 217751248 993696136 288084124 335539723 473493469 226503724 629288719 207878686 702334944 811934450 193490436 192412897 704796601 374413506 378483120 404466679 186008183 663483688 360478183 636398973 523185535 557806108 905664783 653509821 482705037 123244826 351354128 778750867 389987658 660852932 257486191 395133468 567038652 409982091 274011202 920781100 579585519 706545180 462950896 695743357 465641968 255474867 120960790 239312582 663485257 811329066 561744889 250931440 655176069 737378283 586164184 274439511 906119637 253308182 159146432 379087765 194134233 516296916 643443818 379847506 889882545 240599387 495453485 526660989 598934883 477429137 966211147 456258233 840591835 874936130 166778185 511387260 530257884 805175620 987639807 790319044 786701737 631553422 371950754 614070119 398171433 666731712 866128093 626481562 367653054 913095589 102224022 259870148 642709411 710970171 997740370 492942560 416196293 480474511 793520785 793982928 690337227 180998323 309250499 264722412 811846512 275934487 522703411 988634917 191991114 714365836 645182010 982199941 379052714 537321800 201490218 357703562 603515078 691833747 627988879 330166518 299476864 637887504 160964979 241880535 386916556 669289616 838698564 942880248 154128396 683051337 788834715 781250843 505885995 976659662 625500687 144900112 596891508 157090527 924537044 689126793 176824013 135247871 947745591 183708517 847005972 422088232 884356457 724981821 363415744 796535083 307726275 864306391 465507732 845705186 680319797 450332166 571744442 283615374 444058390 409393158 177622206 743685633 296266957 597807498 220410302 552287591 757161762 902854614 260428165 883615291 429003496 805760169 645401126 495207479 596888262 705579021 480615593 309952631 221033602 560997825 283535625 482523847 441013328 743854074 658594580 935980889 266657612 805973545 570165523 800709692 523629626 865377863 565633007 102426244 504769466 595503223 765209888 519874925 141711264 304878037 887441734 689332891 890951094 323965017 997642423 969069392 764206486 604339741 212137340 444087442 831077660 960412224 322323407 756519572 906230983 370601969 367991453 851486108 473138137 105809078 342467518 383241036 710195576 775088671 220593951 706636757 540509845 331907928 474461880 887319454 231419449 710754317 915458000 589147563 181160254 292947766 612909414 120904771 455635935 110061581 495852480 963017692 186167845 457116284 744971091 903723980 301805576 744076111 693801675 539685972 979953367 194876534 313689504 311342603 580937006 604495176 378072037 281834112 530231179 490282484 522639761 992800922 484722000 756121255 106110917 642439073 683148529 882760193 760377322 158434145 984866692 572909948 477097985 250265871 229736730 536178877 323687926 488211721 132239607 780414515 264849854 220902757 868808370 169853022 217505972 787554055 277429072 945465285 308611388 707507037 825650262 676539804 305046024 959191315 561674776 204761268 598355796 585633166 939595641 484160048 211759464 174862288 695381195 886586841 171364124 171473388 857693646 731296608 852399135 681813014 487450081 128266579 581044100 998894303 372141024 338389350 213996648 734926718 941337655 702062286 501023130 426359602 768019982 640418778 480990074 391202023 156037087 720449126 573801655 403761033 978718028 850609258 422586234 185051684 566066540 597276096 104608310 156242543 553978677 580932106 187730407 811799611 632629431 445885242 730422306 997618709 263903488 442918902 947802950 814308927 813559212 143444230 655266324 101478709 602390081 864658130 785342874 588706736 924475506 151439802 369590696 802188365 193168340 970216489 197157937 426646847 484028404 666244085 545855754 696476218 968531553 932698229 234712934 357570338 539113505 192212233 745132593 103211567 590929291 451767639 857034947 968194491 367539439 245171398 956498144 549638131 416978561 552044457 712048566 793112621 273657535 654644152 642627586 671939552 913328373 275161409 547891066 570734834 146273703 154724479 476983332 850351536 590829112 504179659 880357509 817364831 778172133 707002096 859943817 351526638 509458076 598033670 758592217 540385724 323960140 292127987 952030962 655826647 233848287 215788648 371799222 356491908 111487617 936679120 463431156 676175464 782755239 843107280 517155453 473269224 221732871 682311965 329527225 733625985 177876514 654743172 264987664 577407840 729368594 795771660 520553954 130577640 142491963 161834389 431358877 810879562 644899273 382599772 359885255 582491598 154037339 445240529 541797409 190330759 175010852 719552266 337724336 987222755 638785213 163985853 602494662 817129445 431609121 777721110 210374962 175562195 940941468 708752589 423224170 351458577 338295496 190896295 755996176 342466498 762440396 663442781 512515069 562825816 936451566 678867854 709692005 474827338 572296095 567172090 147114577 560927454 662244403 721624246 335963709 101346534 201974959 870503156 853327024 439206927 262930362 329769688 175703380 688201860 789369799 319691306 621569109 945371208 764469684 882302657 249816910 421748979 548825893 354397416 394627562 860429480 128239322 133418006 786923450 971121851 309774473 927792821 589497067 648655570 656528411 895752113 162978336 731211535 227612188 182415870 398067383 282879253 676062870 855236529 691173399 152836162 920872495 613059198 121522054 159414378 267784463 891008036 593077319 334969585 186852762 773508436 889387305 662827382 878688063 719331531 938117640 770061726 239650167 886230038 678325352 488728611 794035252 975372230 247963874 789632800 850965577 697878508 389675330 481658663 330606803 689380270 595076326 116820932 893636164 189276910 304721053 750077196 237753579 394331508 949672924 656011008 537932779 458447782 819317916 131083674 367357266 481730201 564333209 914013873 153941780 601926336 986584441 765719578 798257925 301053632 157935885 810331742 849686563 850539733 854487169 231869097 968948888 119671313 182489617 387834296 856844312 745725700 396900196 148312605 207127838 251384391 167172055 662076208 258734134 107990448 272174050 643546386 272297946 978958777 553915149 480291480 103032619 351382089 438008641 446161538 494393079 258793718 147767052 594878484 364998792 766386802 209846085 553786185 986349251 123605811 574281618 142658604 877144027 124120379 970621570 334163305 940428516 639549362 582369718 629240761 724411885 760653946 438016331 724974595 816263295 888762994 956544993 293528916 875680611 836132635 630101190 815329716 175550185 473620838 600428053 474535312 717979807 679754491 561781309 184472556 570203298 873344435 280310762 449356147 666789573 651200089 402084112 198720112 214990046 580697150 735257387 949768337 400084331 126294404 810106652 589059381 375841899 371504279 643547806 469652463 153712270 643205764 352300996 317629288 998206283 352573290 949483549 413761369 501657306 423497146 368758385 590115267 826036728 480936750 812998460 590046143 657404303 576063263 371998826 183169511 710319160 968425968 548587601 302050606 283368580 190735307 475863003 552380807 491236868 795742342 736575935 865861858 212889688 767947117 460155085 696409337 411185335 975547399 362726077 117045709 801974147 210118043 985478434 470029592 744308634 667282135 842840559 584183514 764178936 654196549 483992700 201593420 586759884 566736968 360494700 636147072 364588942 188074160 235230583 115710646 814557649 253777815 626451775 648284668 100489855 805023333 883769324 241007364 581381294 237550275 109284811 386668725 339906912 479302084 575475613 324106344 895285055 501495722 756072055 756702320 222026826 980979628 334838777 888879601 422147910 749994125 167206439 161954461 135662928 472737282 275712780 736881968 475407842 479824471 437906196 776361078 438549327 365012175 568331291 409087438 124217355 630585546 399821807 277584098 585397356 402307345 718861695 466476813 218826917 454044956 995906156 247398961 387012057 633451612 656543720 708073894 701743571 367196452 137812081 910686074 756068589 739458540 483331882 140386753 888466462 251279452 729393552 955050729 817267910 388767356 814658619 923662398 318200535 314622461 194728158 398994699 445214243 983377669 357874294 949145607 944776529 611678227 891105801 120063512 347269103 662728471 264069361 899016864 240137480 437746565 949663109 664926859 502064236 242629370 632131446 127098464 265195849 676250340 581890578 944453110 908767635 839095029 940678424 193952093 350828453 453738358 724161977 446349194 866093141 341248857 873599468 391956277 926936833 701845071 248375537 560694451 124879812 963310657 597070866 383041009 630472954 415274020 197282883 641446164 947404511 383703578 900419630 112863356 530008449 644049415 219667955 358035014 649982139 897742295 327834074 128229957 356406093 466508043 789687309 804497332 531837949 543135203 360613127 569792642 370868297 536341159 936364898 145919421 702240605 951128633 891202438 801093100 464450283 415600971 863445217 105328953 126455675 238711412 726621988 386371429 266377965 219654784 902919372 518470523 150656690 503570632 323552535 777566591 750784106 761420012 983109563 163385864 610275177 834284581 468025787 501833844 155801897 703531398 599016835 438832281 945649672 555735856 417577285 565349782 579969767 911210653 367242624 106668459 189398734 550669643 155793112 855058637 809045149 755899205 899685889 161250567 760313721 929386134 974930688 382425396 721404013 742697700 333857694 187087942 366656155 810746740 103217166 983323824 891152361 709716723 503893247 218354756 438707735 757266909 476958685 135323390 427256093 227015938 916137134 827648165 990480837 848232781 710118666 875059789 769172388 789832565 375829977 376151022 255296292 981331166 275393982 114028486 845037023 344889970 640639562 630701595 319474164 334556509 770126413 208575438 234124673 586427891 737670768 793624930 428314283 532887212 596104268 710564952 925840550 667401758 663367723 561496974 547901704 240758176 451350874 986695936 587014070 112271348 557997541 444269364 381395809 681949875 469289578 312089450 154943885 273195090 217621565 396182355 239594258 814289317 277670019 585264119 931156626 463191087 682384352 274823122 462374791 724773133 774761340 171890436 227930891 382523634 748733145 850232022 268119725 257536965 904813622 714957249 847033182 639025019 969335215 641032961 230758010 811842367 464419102 203293915 807837731 113713406 363690638 497290635 772321325 407801289 520294567 371803893 717295854 684160902 919885420 928270945 593157611 366780261 249437239 746919367 307967485 448054873 285469396 834620136 519257116 882394606 853236753 178202851 289007948 142362505 821168743 102705745 758144576 529860530 344042178 696769793 558831146 627928553 807907653 454582955 930671473 131877959 201842162 270684474 410347149 709502798 610363632 284486993 972738671 477237667 818262968 555607542 363599823 640824287 913475637 336389306 628341107 785134599 259935443 325119840 989122038 309894975 915348053 417429735 395068933 269118437 180135415 244830353 445398498 363785854 976391731 387523715 920992908 695619509 684382412 891836553 661402311 903032391 446405887 354504125 118751720 537944107 624966442 841282921 885838069 322016699 935316185 900125585 667429550 965101377 646443312 594575927 915639338 315200931 297942152 103321642 889320052 443569947 246598505 596181963 288689115 195916806 314888298 717164157 597455544 306159833 213979212 429668206 480807730 309914273 762163242 308455142 318795382 755940312 586391152 775844619 977882206 642657519 631939289 221604649 669126210 258940376 329964190 974288689 708791606 751096540 808879434 530913207 266016637 819204954 406147102 892345006 682971211 692902999 451823245 879210692 138824694 127664224 126883370 142730869 973524056 231104532 834705139 592715787 380636375 270046413 941267884 539645978 885738156 247769806 364553228 997376443 369268723 819838783 322338625 755241236 692261937 622392421 727156542 846991084 468234001 617971971 304867983 765052929 904632798 609451698 301466374 745731634 856830581 339753200 575326832 371843142 380640793 803804087 831169804 394495366 394354046 197087216 484290607 565475331 759686279 872142834 972869270 521797418 372044741 667548125 887698546 748465775 529111423 889955626 654128250 859430518 521987893 177284944 734774116 215574196 527238045 221839501 219674666 230815138 733406584 935658796 705420400 537931371 265511953 635567473 812019831 734919273 382615657 643911233 598166063 490099557 457733089 682095789 611103665 739647034 720642577 843564540 145640749 198848202 344054272 665045810 686257559 610636095 746216224 904344980 927157257 335418137 288265675 525192691 639530169 542921076 348840191 231424370 177089537 516815301 616488882 269630627 991012515 827483832 680574065 901288004 448253703 342059319 672200207 413885696 670281090 795111107 975464628 508823428 650214962 568861410 540225867 675132076 592646624 367480181 177052340 770948176 776738080 820536466 344875884 651831909 862761116 262997742 194573934 236519666 745103434 862938433 218307180 903948980 264444706 725395554 277656978 948516748 725030088 295213473 214624623 573208598 983591489 808835612 669330488 104738158 936911800 941955064 621906776 692255543 608643926 312496827 776703679 509648417 845156255 410957405 979807339 231322695 588068917 691451625 843995692 815368565 107727152 300875823 244027883 375453510 573401337 774167546 374202461 714372917 181745025 368079624 316358382 400771862 136250418 591609020 859324278 838074783 482246229 218732001 675989790 372158116 934331760 655153599 671997444 670581727 479262142 575993507 154766411 125542314 398242802 158361726 907502145 357614735 298542360 675807372 586467485 886499234 772158874 595013452 779433704 344963352 321077274 731258430 125812461 572521610 364720118 771061576 242839148 116378305 263942300 572566468 187293543 767896340 666915172 245177165 287319736 496295664 126251678 119373058 925286533 953806104 222612702 864690389 867234398 743479543 551400153 663577067 346630937 943377988 479642194 344854253 911909007 359989533 373501242 984365128 908330213 164865615 915793866 538675240 342375378 333673132 889117793 311754105 136751691 821298095 362356474 894239950 634314047 166983736 515526551 568654879 106937359 177956604 580349416 106869500 182119119 243120888 153881471 298757250 862863477 660258401 482231282 896957695 730447324 622880928 532789883 504064911 972524436 330086588 540335457 255903238 688634112 251632597 108348842 292867664 206688548 609904061 917786491 975766984 178569441 482248862 734293648 266840990 242035739 882123488 608414766 376824448 152872470 306428422 333960159 271089627 584113445 885355066 412005656 340480523 408588976 561856712 222315121 605180099 449571089 403029307 583008703 541136897 127823975 616201906 669045568 688665941 477706214 516714188 999390011 630698705 185504578 915676975 532687420 435048485 842647559 890386613 907239447 457566621 689434607 302993454 182441398 416741186 242144925 847031542 942993838 399889679 401199045 932271891 546097770 253424488 176907005 712191753 616350634 995606633 664421086 889643130 821352640 191832963 738366182 961681623 626019598 626210415 289334089 562474578 898166768 752055922 817386438 613585182 179841662 372441385 332159121 927927511 727979957 221357304 446510787 779243292 886417261 697274729 154982774 393487711 289610684 209833009 927922759 304963683 190544106 174424928 985475150 869436344 202170048 160755242 394420072 113999053 383884271 975470142 804926186 171157007 244813048 779468046 273705020 533231742 294980790 858212068 773127450 489027985 548305515 288809153 834256807 865362492 314104133 804342989 907186578 585212843 556456785 733458086 802272472 997177571 296207358 177984604 744179526 759860057 763939024 569381055 852878803 420937607 981446963 187772572 775812487 287732668 613616738 677217377 795846479 340633605 261953869 346881868 111841038 663749503 313465273 415951909 636599817 284478036 492093660 868677271 715994363 113613475 101369312 642798787 457468043 131996749 501346679 416067723 151980225 813024032 239258207 599916102 118522885 936057042 663010133 713909357 190252608 876123315 240918368 337691279 797534948 335079250 466208029 509307828 308732846 760479797 463300211 359847628 112009178 642023585 574203053 226572405 677779983 130785859 438173503 229388323 141828313 671728868 543992819 696489336 132953296 549574247 419270419 623704763 883730533 903753846 341481544 846702187 306834956 996097357 417984628 145424863 626293133 365337424 778262886 794760214 453203133 494439350 884813592 909768949 324851703 854537367 573238397 343664878 850093170 560823294 690262651 958758635 430756592 361397350 597870015 738053589 921494907 324639353 958612562 191924901 336255932 215488976 657326309 412870033 651136726 478700531 783033456 505369621 514553356 721985117 592354822 960264092 602060262 493525415 356696454 369592143 102910437 584120375 513851097 301780087 851535668 886976400 560953132 760765702 548045023 727865746 362654709 447230685 614321058 751612118 791409033 652945271 650958715 505925909 960933522 447196124 595958251 363101813 745985442 585210011 473937176 380109213 802131271 806229067 827398218 886277926 366608385 581330470 770286312 108447449 728186056 418605416 944036605 383955379 237840375 470843240 778091632 135721456 237054974 881412645 852610644 541308318 145461321 729878415 858899949 199020896 730480912 612313243 503349439 813909776 167292153 447839075 255229292 871853037 622196021 998003631 516632479 872045660 102621408 611734211 853387281 863389531 388956688 314057258 611772062 535735428 314306692 275006198 977166700 292535863 979976044 696973411 286071433 843223998 225766973 765002974 971546048 955036482 506629407 326750604 150587396 386313395 729982769 612702795 357827352 500401651 162977778 667478498 147541924 793405136 998418814 439491991 345605618 572314178 352765159 645401614 980670265 575169899 445030057 675918592 272433055 320295069 231271795 688087294 327541899 440126217 203096751 241131066 293679252 245248631 711967188 347112506 520251756 540643894 456852709 973903812 433485709 980053957 939555027 223749814 134047977 520321838 623536490 979714807 230306541 918976134 307926122 181408341 123697245 239402359 615962299 152169406 313923004 408332096 328342142 121969146 743423306 560593955 609480386 407479154 635257922 150113054 293813437 505841220 578530238 406412477 959248097 571261801 282568461 722190438 986060021 542279391 167507453 874520211 471201112 951832230 102965640 966303534 331305694 603345863 180711439 287070726 635892561 489560363 808438179 955664430 448217906 932425863 678811520 590707832 784620694 218411739 125430083 206530596 905257458 416979802 715693126 281325158 785276352 770433720 948176682 816908986 298153225 149668131 436125601 958589868 736227857 861437087 483643196 159933617 117216918 846184640 654886490 597811142 185845768 135277052 174979791 361156034 907857526 789122954 173541528 364459334 608886490 501574748 168208209 923766717 420520690 195006699 904195937 469331230 394579927 908361739 945629570 897659246 531979776 118575211 854282170 492699195 943469666 287863605 522820928 478020915 224919554 300794442 321674697 998801299 733154609 592745179 966304869 606942296 260488658 339983237 689974282 704533716 423836926 225732415 807258735 992356565 731066518 831505378 139225948 933994309 802240432 794350051 730701906 535598884 590835231 297059653 673780398 677550107 201753974 332803983 828248198 544012647 665253018 589551060 489175143 114663457 236289852 182036963 284022781 621050803 990522781 776623259 823659099 661566413 137673178 613468817 896325568 989986479 687328394 193042374 653367232 479080664 594639752 412496621 206219850 269824707 799684724 593882977 374768142 992210398 214479326 399301016 918827660 242053676 452442648 417103414 603266979 843608622 716669809 555207625 888883502 213154232 538513648 573997466 674558153 864165641 938352392 592724063 892636466 896158003 561070581 987045264 434638657 948848664 578845784 957649553 953068584 587733857 637948818 651942594 680539668 260998132 194770343 177594475 603035732 837449646 187601300 947083338 290124920 536432752 521228134 219571461 948071230 448082271 182176329 476791194 170429323 501284483 404897798 335861938 394852104 510135646 513903834 480537785 199317857 876916326 525915288 756390281 662400542 718025125 972935263 639809727 536390521 872270559 988517433 273337763 222293937 744399865 341934421 537325668 724499550 799725836 522939637 868862689 570306804 354410106 918706316 790217646 537701283 724095102 986009938 338370487 499242639 333413809 310422130 880012867 625481640 325233035 891662757 272444284 767746128 731263039 820166076 852704033 688364627 552996236 893361907 264351098 704253265 857351588 489465660 596896087 197091579 938114614 329508183 426714417 822119346 688254331 373240287 463279530 900042203 209055717 849360255 871825221 655013091 436888557 388198245 962987690 979333006 643838248 945214546 281921011 739714790 109195537 127962114 466048042 447836758 793025545 364736212 344385191 320859368 222939886 738712301 527446986 345979177 319488177 494684165 817731763 740063315 521381202 614225482 675735894 272120189 819827925 516011005 549070968 296142095 185587063 749686579 286870403 619271539 860986014 462613350 297652869 840137925 604230659 221469472 620894763 166329998 910700464 245263860 261223497 388133873 743900194 123902021 779519074 378248961 917966924 477827868 300079678 735023384 559259269 380431908 462451153 727150016 798583701 458179206 457780480 571094845 553511453 393060135 229477540 745482619 599887493 767815435 938676204 850097562 304924061 106648647 288373264 185726311 771366138 801821639 605812328 123513329 778449912 570020552 791142723 913489592 498532756 397389969 579993709 801676971 287980752 240513027 902263281 933292914 564076895 700284316 776035436 137432031 445990556 813353034 415753375 704357206 796753543 278623045 900690394 857441495 971018409 763524967 407444219 669369019 755258852 870863392 866286951 521193215 965157512 856487205 866648097 308454621 906118145 180060091 242843299 386744433 403304802 566138064 481868280 382044697 609086015 565559374 555485886 148129769 865022391 832571262 474111701 842010693 213230759 225549955 799172732 965784197 712826453 192817105 935350428 968896025 313624236 909377794 601554689 495094998 364209831 612426219 871452022 857163071 798706679 370055983 954445784 283004072 271851277 748913342 787442888 188580869 652365615 298055238 681122580 324533175 272613822 529551536 757019412 943582255 171919872 449704986 112673122 793666758 382932268 395990737 786198082 316937352 535879010 239485907 660818293 582128194 825674198 658255235 591086672 990803002 887574942 587134936 278134631 806782013 520985403 761170982 670430399 714385805 476799641 266612370 383529596 499937444 511931732 812988745 196512550 900272438 614555056 999625352 398487227 249853367 243929526 868384003 168587357 283156720 456405677 328868969 656432798 696048577 807880371 794022568 407435004 573148782 448261375 420435438 652112450 628820197 908973899 137112887 955464066 657083548 239090298 850810388 994350188 789886410 800212188 404099082 825982456 249845061 683642429 678284715 448294770 295638275 317860208 166917542 645527075 267298477 179174403 990698310 549303013 431069634 387945183 571918166 761589591 882612015 867841716 143472404 908797425 883165069 734174749 700371344 176682897 831979600 540485333 119704249 577567187 950125508 335063392 671287173 299637118 804506207 184469514 840375423 681324167 956196958 501624940 423323367 541043306 782770406 552340613 405250029 227499315 235125377 798007130 361825028 262661988 402653532 436870089 279262474 688231009 157325003 657620757 508300017 149977204 714219652 405068091 321326615 141531203 354211237 990129374 449141233 320046272 553422643 741230804 460649952 139248927 329811472 843962934 728155577 483793358 517493558 201729721 187260981 561109483 894454031 732996493 698217723 916515680 190637551 720714927 274608685 807823509 564727480 441579846 534168114 600441545 211468515 180331651 319538341 518711381 272420692 250862954 715839046 330161017 197212912 641184561 256716091 643574934 877089942 648042391 414926047 276920890 846578240 701227750 136537141 854488395 632850113 402793780 541407338 576837960 495784899 130920331 197046039 400575914 272859980 112849171 176194994 944658246 336614511 986375695 543995405 228499575 526852493 265621291 102427098 593563679 674049912 785296793 561684864 796018451 229465676 475981669 366246832 845500047 960599913 645801498 163146560 115759090 729620348 620972081 682276960 300238984 974524105 742285261 547109647 694863471 716437730 391698897 694377890 653029918 975066283 454885580 383983217 233277471 789364092 460859121 881395046 506967665 584912282 403027528 954376101 433992041 467148680 384390451 352599410 386985973 505816407 299003799 726759763 566145779 612179027 456229271 540280117 765924840 690215148 669706501 231219828 747652237 696074577 370192378 109111695 951090740 214441005 242651356 995322732 185396397 282792806 826350196 513660984 884773803 206068764 198668306 559408092 697932311 281881501 212590233 137274535 706692176 469804470 451998642 901378131 879206589 712785687 719550981 681373027 692014825 563003278 903387828 792978019 781266466 932914954 784944415 760048886 569019039 417996974 285672398 796205604 996763177 256384610 455992961 762282024 202592173 419811194 220762025 900288525 141142056 873120216 855762138 189251699 341874934 824332000 320389934 775515701 622264185 482097030 472205152 933488848 305613665 910253325 179547207 183297351 512298687 806086538 697442282 141949120 605718772 510229989 500654778 889547836 218770711 732004769 110900309 377423043 368978515 117599666 620506695 758039899 768024817 584047345 302391413 186138135 459980846 783552863 151994313 383976782 951169866 711778710 207146061 119917449 868844812 135562121 999325277 214583921 556656312 761212103 258218468 365118544 550890358 772338138 275547419 358475526 828184523 816751811 325702527 349602693 899978032 680396390 823830309 740591146 214833833 548528817 146573864 272414719 931955264 110824441 429905191 919305726 600159908 820139193 642260154 695736229 747720101 538547672 137852849 446414379 596777162 632691993 561182441 197018342 783138568 452632328 802061448 354175791 626799897 192605817 475943524 438099800 938533863 689221242 305718450 279009697 603453627 374000652 102951826 683331532 456102275 876076720 622528076 722853981 621509780 191042226 357955589 513763817 764162315 161222217 608525838 642372223 577813213 965834207 673766973 855699434 809519171 113952172 776244323 469250831 317290446 296091619 742121264 816788981 801112827 224037064 204551687 340608087 136421351 716765445 319846316 617426159 704228746 863832399 669168806 983033097 833227455 823862843 347768720 535378457 915650829 558622801 846083488 589851289 639168268 748476047 801674733 966913411 888084127 578579246 399278421 309744488 147056565 788101027 184018055 700645680 714966537 147617152 283990075 991149616 520162724 837337825 415050084 237633395 867635983 714652126 332823394 517895753 735023980 129383650 262188903 420155354 479572104 825879228 367053149 427798856 583140481 385719492 200373676 951688811 897597057 759729122 163683269 187047757 289456099 197224000 187741501 420298141 246904506 811741449 748513107 962211682 355330069 747024584 671583439 131737279 514055428 159942169 777979034 360945664 639329272 325494102 137931586 632755413 310733650 995111238 548522038 445662064 910389665 925793903 185309557 448185656 695057488 358792569 944774943 726356864 593888069 610051116 225682898 125924437 556855937 664747679 109134368 819527226 536354598 465270986 345569242 267360691 731738968 998279215 484245337 703806334 675295912 756348970 314221894 720218981 538026786 287732064 754456114 925026593 489682884 938721025 497558569 277616362 817513934 481380061 652841895 259404500 737553318 950936251 536132118 767762363 897172815 720874565 891253759 310666117 899244602 934420627 349922468 163308526 998460891 337905765 206779024 604916316 924021922 111651769 181849148 824613521 635951330 427646299 423434189 983131223 220902993 194406156 831892491 573411184 995396829 146529741 468696182 933267305 606560223 602944198 744077407 394524864 645235134 221316025 594890541 215900784 272989337 153799558 963050921 243731575 189454016 470023085 184056733 578694906 851270915 718371499 641336138 104141840 312316015 715962475 334502242 740118944 723445163 616167035 507912928 589778474 636955286 134150755 486609597 539528613 226728769 879826128 483082784 850909417 270656385 305143777 263376957 175684710 633969320 194126749 176113270 558316883 827860215 873679957 679271933 474013709 990743767 209250080 213211871 628790277 467419567 933022438 697185725 556693095 902257272 906120228 694186824 956482564 338835520 654695774 867717533 470004336 249002743 836552375 572273365 640435095 503467140 798978400 725838132 249726750 286453400 732324441 656730172 731446345 191563467 637114514 685075877 236197949 515580532 423758793 778328207 618813242 761969685 866195548 741404345 175855519 875395041 780857384 133260591 771480172 141801250 447380300 741768234 404020027 161226040 231948727 307190784 707028100 697113551 392218413 973573421 585933853 302260323 701606459 140056780 175774978 912764916 543238403 138186959 763842670 714221731 715764323 887406368 429113433 449476555 595607360 636954396 567496771 852128695 177803850 901850310 671998973 433624390 959571218 906369424 597885817 970423503 393109106 620954153 737017428 885749797 759285273 541694912 770523025 924141165 332523842 168056556 705711660 594155100 215039088 157880727 883579109 866216733 268480245 876117969 814191975 354686146 154507759 873707526 921287090 450360617 661901236 266877835 813977232 288504765 931809327 841457997 324501418 759621702 107878702 612622639 815107965 963537270 125513270 327771304 415614989 513128621 616571887 683328297 945615285 635653413 832085994 334609968 743322426 882030360 828122353 419621138 639593529 953268953 249502371 976087786 407567284 401519571 321074881 912710233 561371854 328075114 139968078 720989744 124426125 976687010 626119638 804149442 561677177 900472790 612279878 819586506 478701009 600866119 860432539 660969553 464930867 733481355 246462787 203374280 893650171 341621462 566432705 618548360 832861376 349804390 606171973 100269886 283381613 932300504 127173146 374687360 297795121 988362040 911298092 664638859 713708178 562806859 154849130 103247097 428660473 304588812 371496831 989723034 402564477 847748768 611597962 544666180 969763052 425929757 288759217 805597229 512393961 466446622 795029844 783389446 254371455 633131730 400571877 364203264 611582474 625744289 775249373 672973407 247920351 839326772 290646364 987371653 543118815 477005669 977357795 385477567 715514499 613443831 385374048 845452302 242534970 595978695 865317706 781310265 308542190 884644811 456184825 160594558 785668549 137458998 265162657 129064892 856773477 876743517 197440950 169624479 559452888 816972591 125473393 307724165 474047942 811492400 648713564 111710111 961790327 329730876 161966030 528500677 144245435 880660397 208321098 857443916 607136071 577029510 517763497 786083382 947297168 674767183 298357884 416560201 360004718 369489720 678507788 800296761 808906562 730191187 170532513 139015354 131329923 954993838 516900550 462293421 909577298 144577818 892841383 788212424 368286051 812329507 290758857 175136440 538042991 501541418 652339226 919272485 426426814 962700795 453571804 887965656 790070211 600851612 115457106 304181853 419071889 401705503 524153307 955390383 161098785 911790757 546582304 443850634 620408282 510881187 439928863 916252872 809353281 686583725 694297597 977091401 669233152 864760101 204020148 721116565 670418914 221739868 678146846 683537306 707819696 929189544 923445942 313846785 826648480 237159165 700295584 250496659 971865695 247929558 998358467 740829259 967880265 805787380 385305647 192332104 221959116 789179358 937724431 647395959 664963525 881585181 859904822 184242012 124157346 952364516 276262696 236261080 558212888 629126022 720107001 163254867 397388563 850784008 902228617 926624716 540258438 989500692 135646777 948331144 653491058 226257824 537607744 252171413 992818136 582979099 400579554 426614278 467280969 406235739 275924089 932414178 910139911 916112831 548434426 958684175 338241575 172361623 766897717 779394244 369544154 310129221 845954045 556289095 766708599 925530199 409520219 947300142 899389266 718495517 908400398 807386717 314076011 318342219 107348609 953212438 130126574 593198093 647750801 561314491 648186577 859721535 878186706 248075176 308514647 866611735 867847721 298044631 843215420 295318087 896991146 262160522 811058461 893556221 506158411 257258171 714497933 972478544 324735179 462851493 396509205 938267874 881752274 349668869 733549829 375323227 804499916 266351865 430358842 568558111 785905415 131891396 615275949 322509891 517229223 400992263 277251227 267954278 902957851 540141306 352507127 734035421 670086288 576660938 437082249 377839769 961456198 735844668 314675869 869693995 106994025 248356868 485731734 837804240 931392441 874845078 646988362 167397140 471702615 748363196 954591242 475601988 939187488 962248254 882641736 968005733 359240824 669889895 963155702 363177190 200227884 647131791 406078342 692807987 734266260 537658318 942251707 272955593 747384112 348253479 565299720 267803370 251167648 557393216 690787278 598578046 364990231 931336185 871358952 585541655 520784707 330361120 604421640 525483150 821938344 956925899 805662078 173263579 947231238 820624455 484160274 583639264 250864559 568480837 956598105 628145997 481643243 460191323 453191149 919506919 312977547 106282264 219147219 863683320 396977705 509278701 184951904 148104116 239830916 425865614 196839363 522858759 683066639 281505279 385016284 116873438 455347715 171737884 281776326 700225560 523313212 368231182 174789431 837163315 417878889 930867789 643747607 520542031 685606777 639286854 999109878 181794271 511671629 867822815 393594252 903116519 305620608 600805283 568096549 192312099 506261790 635538654 708081093 517709694 721558280 369170385 341343587 732526383 581801256 807964315 418561878 404598174 477548103 345824844 664873351 672270047 690840392 353482009 914043757 405302557 702269248 589313262 665497076 795993180 246656008 845090104 755354504 278540113 316440503 266316689 159336148 884548437 350564405 188021144 178981621 707992938 175882214 518819826 799887553 614382135 928028657 334139788 497379577 681035621 174534814 409286016 370757303 306232282 480086422 750373415 942915489 197817517 801102076 470189687 772406414 420584623 149332819 546276466 332734869 102608727 198040314 596097718 720198976 137092727 466695555 867760331 737063402 340153268 283333574 514786857 551001667 190775882 341106521 464323380 718942029 383284535 771610247 786757154 663500745 921505928 415191380 343370218 437051520 938010071 202435887 162317633 815430495 327548927 909501283 250829876 329468291 112178174 150321158 194451357 375992125 764547261 273170242 695814145 655491594 580820400 452896515 374520099 316611590 754197807 587760657 492329694 284335318 323247209 539202971 210870104 357431702 377483520 369022903 583834066 253722144 700812829 734085978 358763905 313717145 839599435 527549048 877097398 321422153 430223659 556696455 650792867 784714110 101112319 143338429 212809875 418179286 683555521 914222111 475354001 614716404 217971518 513154810 432769025 794943552 872098565 680236228 404673691 853908552 124777841 668277339 895846092 200848795 572814700 754480585 812650953 917993102 117546256 327160995 521925610 997972343 927937797 205159110 411345116 842873341 597955102 443978236 646707189 663057532 924550408 352109396 232207653 839911238 382845528 912274897 328912313 737300718 605092645 489640216 295254922 582956001 254958934 110125542 617643994 324128731 734819066 536827580 396765874 185744685 281982922 713269517 274047327 148995624 106053418 280031066 604866230 298592030 253205471 132621917 291926636 990895561 829838533 604707277 909284555 233270628 532730798 681406840 404999283 450818129 289959143 762487110 726409507 495874069 121394954 555372034 220470273 662159633 866408687 853084143 618376823 859350016 927437696 434086827 806386795 694276931 610067824 858216339 288355666 468315812 963581605 331826917 530615745 311325333 730676112 602202562 476814868 459417827 430762228 861979572 133392834 271648386 874626589 288006072 536208376 137519204 505289874 719012038 124020043 569995799 177351065 712380178 668050361 356429871 528890037 254879608 127851344 667747221 186706813 433901333 331694454 332065003 656386590 521020244 287717050 364104848 286645725 124410799 516519923 146561304 105796516 728097553 583755829 158050796 371411891 905390343 228580807 206716160 464442391 292960147 899742248 426600682 778414289 364015756 300718802 647154175 988119021 170777301 125614282 576360781 424761377 684162742 547903753 581166204 839133228 514699169 430102495 822403859 326189146 533229038 166010859 421301539 473986588 515635056 971654043 336633027 871907925 461757555 365252836 697517142 494223489 208689302 803386444 335894567 246521454 515304808 308081723 167101376 377826443 182924429 709496150 933180281 993699084 113870754 605226823 489443081 957529899 572128243 960899564 776936856 306142484 198029570 473853981 979689503 224930055 633030864 376710973 678492507 265576306 683503851 986554404 257335485 494564828 586226067 109702838 725344250 769954080 303173754 448996815 625963744 838761223 220905417 662456292 796849468 192287994 280963224 872934606 803210485 993575717 727391605 793712039 681888133 593079064 948692415 344318803 402628844 722287091 632268241 193488978 586545467 427193241 927230636 220734083 925450288 178231531 656976830 127136422 278731491 330982332 820169257 128017166 413794649 692820528 145684478 718301724 922907699 119781992 325425026 657845003 352000675 991349293 787123229 243492825 664180892 509925141 363769244 116503884 752923643 510508607 132390081 935748527 315482824 887770242 461989831 510624666 335331399 935056054 704137563 798024279 903021917 416942550 128319366 969596603 915949129 171572983 371681030 804768311 530427029 680253887 698491867 577570190 882371912 284573908 488100452 916311723 548922065 710368720 175843813 242035641 316293029 697978327 831665756 846618766 868715752 332791625 198877243 617198940 860931282 924763452 756426834 911388366 353346246 465260825 799036849 830752854 723538147 804545665 215730195 254601854 368774273 401175467 569497959 454496039 727924120 891384305 977121588 522637272 761637860 754191615 893821779 838204910 606106674 308309105 736111542 681523380 692064947 169305081 417845957 496911765 227872853 918319895 915398292 489137754 872327969 708656416 334767554 936491132 930616009 773736564 104508980 285070799 300548777 712138172 280692265 576586325 302396921 976017748 629440841 550105048 475473440 939038918 779574769 196310906 430388676 790649392 786683537 257886601 561743851 884623731 724464101 316146999 265599787 878691666 548724785 157020357 894207502 361252727 818232921 571510736 940704983 751502441 759551465 895052258 985820286 644028534 128096902 387055676 128597904 195908752 768181362 975220113 668062026 549340333 408635146 812666103 126821360 828340202 958050731 787283081 233856607 587804258 486344764 121248668 592951920 774375109 666734876 325819889 611988432 439343416 667727927 899427431 316310648 620568565 623603259 458162939 167344909 517088045 960891532 222764755 830774418 621117632 208382603 769076078 951248772 942381000 603025600 225656546 111098233 802303181 726875310 953860255 551409050 375759366 150467819 693578962 322643479 291078109 539757423 896334000 980081779 191694681 682533436 527315668 499818414 847594417 137150660 772549949 698994303 927645494 297949617 281384690 461164159 132201202 843839426 636598785 729960714 708867631 636522050 172735991 431332384 579916145 153109920 831318033 653472931 853779348 185368779 937025214 665866274 436010355 255253501 821266121 849631965 844748673 780738338 949268778 455221636 184155658 718278183 318343866 643791573 143587218 914402883 737660567 836558284 788865346 677154403 629576270 914831667 745381116 401232299 743687421 274568372 679226867 215704037 483462849 353902017 479512850 679432852 440845126 719668938 513886962 743325046 357875663 623489017 413521191 848581542 842860949 105318822 921381562 228306565 974875607 369389674 588334938 449314706 632330714 392016385 756928908 482239109 370078079 223711534 649490012 103519756 146202694 191299158 947691142 916409748 433515284 795441294 849085214 547128605 265971187 508789929 731944962 430715414 172032893 828387514 270865568 649557759 132389369 138562194 214897965 964847068 992124552 622046850 165786014 981730270 222892926 490265206 254467739 338573404 931288135 119903635 330563449 449986693 583581380 239207800 728387420 369368014 960734480 663744083 171624892 443503210 453976004 810266592 231855118 798891974 332056017 231890682 224621303 464043481 344625640 497784530 276694513 674357878 957536277 136853753 657111224 299989646 548840104 521156896 811352529 447963452 966306162 402782871 772310700 596102729 322965424 560012319 242585027 644826726 632218605 574055181 396846017 217334505 242469903 873513300 117147436 245833886 991809496 576209039 377161931 701157282 690332021 134342957 781516165 440891931 764339325 274900530 772383089 707624799 449098869 558362949 684370867 669626733 954954144 590224367 914124056 694581452 275415669 957333292 287734444 340497492 932003711 283227131 446658118 841926925 138011572 991848913 415768120 379693055 477130734 621133752 642178584 791090564 768438571 747244947 609030094 496751961 262915409 305164427 228822196 718661934 426915811 991783224 959404436 947741711 732128866 925145490 298170869 674277212 468353510 438237699 451478954 449710996 103755348 904742878 836790771 132208872 766008400 543154648 750898108 768238302 496092795 902292589 266521721 857432422 106471994 973723621 832840876 593385672 641836628 750262389 388053651 740256317 853301043 562906499 785955672 158975943 209794224 640458677 169664716 548604843 754353761 936472956 366207284 870380437 632195356 333928801 886371117 834441260 214157089 619892687 161292129 375155668 248316440 426311733 142777710 457172454 643776234 220576517 633941034 239582020 686269226 646206979 680096657 960961071 977280875 236754925 774641646 469128943 971684193 194706642 349569864 784720444 165034866 931125402 285458607 270402367 840050204 581905659 629931987 796773313 436977562 834884478 405424847 609841993 691041529 978395238 663684494 707282358 967734323 854014675 444781256 828175072 911715585 325765624 771642944 399335584 782046155 167889722 964671497 300342226 707638752 919539399 544588454 272881984 163943592 775291310 798939744 809440071 525286475 303179296 676490788 100459965 519456470 323411288 363178979 664907769 363886584 378328239 464078695 906866094 384545875 679848578 772436947 663349142 296428709 436752310 876051299 979394376 412680746 856431781 158570123 674644891 272252165 561207889 245377916 814935201 749292426 864380861 821750100 449690832 309212019 285400276 352202766 166472357 237766615 734298647 281123458 550046870 611205211 391886565 645563924 933572663 701569053 953019180 766639436 469966338 564755078 588533843 420146084 163668484 919866763 147018131 262114392 865239829 413826797 798570996 622265750 942521387 672817859 568996130 600059684 134231670 180744992 449790201 531998157 540971949 113948112 633918251 872677032 768698015 519189265 979905880 273091446 757582211 826814397 833446042 747249004 820045969 451746229 374251186 457243634 310901185 550383242 820123566 135357509 369896146 708584083 270970947 619537292 900181180 959894108 229977997 115082774 291174514 773508708 349863688 432911939 409608757 378628659 139158098 882691527 591449927 775455085 925138813 600731560 629056458 842324450 577705705 602931238 574666027 307081335 123084667 256459289 108283653 579266058 970437375 221297254 106049854 471765698 178487171 678314897 505725380 464822916 278186859 845362913 398116362 798510730 254378884 871710254 243936360 881890222 350096121 227572349 989309778 322447347 160467041 196593776 294879316 299460604 929382557 893017620 549224369 379360736 921749084 671165641 390368906 914955831 822245452 531026250 181441780 493423927 973757019 145594430 885766168 534384923 276745278 250166845 164162771 284806207 311556711 616057127 593999905 530000035 858156176 968025807 257086034 434401616 778659445 688379638 514823675 983320367 689790647 213607942 743273923 742160200 770965885 564731097 579892988 234212356 887227301 620072257 185388098 493337307 390048181 824189345 429054363 439068987 833884626 559687576 138192499 366056861 736714691 212194549 953257931 643949349 114459526 220086421 405569511 951066253 319119953 365794378 897973961 851838695 134313817 746726131 404680811 699281013 620953346 137513891 352809017 867481083 385319740 924324416 631877018 282313939 297124224 584144867 792540625 409558648 185898290 505733538 556755100 897510677 932294877 755890625 401669010 313660239 384477776 496465443 325626777 137942821 107492554 676498884 625926477 541292651 427318837 535761844 973731956 885191805 250407266 640534381 756976685 974894931 686966896 579012906 204719213 990042234 273508319 457250213 788461769 210124484 935501269 752642211 412800126 944938572 285912500 929082012 652760935 222021629 974543285 654009679 529982058 385505277 505977626 299805004 813649283 636424716 793927383 702052357 618299502 720677786 936394376 296333283 845797488 267695457 696377259 920509288 745212654 898852990 287861712 229048173 230314237 712717220 470937551 405460767 181919362 367488198 154805539 138248129 406333883 406783829 955058664 773831781 678950336 888091303 795576296 223322404 539993426 375920014 724414859 686575099 283330540 272572012 295825881 373862202 604314622 356693454 702736026 828989806 149620972 540548168 174378814 462440518 938968191 846022261 835262198 488531759 424725605 575598632 176226970 397173703 576224489 219196781 300625425 879675884 137344812 789995263 394586503 127445525 221372758 931070513 645256157 523513356 380645090 433841932 849115611 968254469 557612616 914023836 934745808 934819546 385931479 836021402 657980147 814134887 427323246 383825202 100880577 569220780 832122656 356493523 988325863 264120413 193784993 931171546 965581413 433971750 485461277 967812864 864154169 199607075 406220485 370164858 872371656 617626656 830738084 347265961 334489163 349726398 936075825 572759046 360686158 250424089 677338473 904807212 575450695 358976430 592527010 321984427 631519544 907785796 367219540 276287105 835578974 320759291 924756173 426492473 520576636 970472809 845340432 562261706 782577945 764131439 800996916 515442348 856560543 539149865 786603757 739776762 652336935 784435532 413679538 213478098 706899596 147203654 467848444 820248534 183157055 470340016 553335584 860184517 537738909 563252167 171065068 722953149 753894504 158189555 502216505 714213970 928182766 855907054 399162648 228705673 119040117 948017806 604181447 286204232 507653636 593753184 953128608 686848383 997276435 260972858 876657171 663475714 887697981 265273058 408517898 343483246 230890554 193785380 994660033 561909355 211361389 539074995 627447402 137424667 811022744 336843236 203919665 815189356 919381240 634958707 236466851 749194049 748621918 146471432 259444714 297930725 543876340 174425056 985303346 706128970 794817567 465001464 367649804 918210914 757597603 171070753 619128919 372376433 366929367 780054611 677385666 592004236 489946429 756817044 182524184 546148056 610211270 895012533 109680998 896424186 907855029 650033423 610052432 810527132 357854690 363872634 605841762 501983610 955160077 834186679 883178547 662538474 848872474 222049442 541176608 835134061 651640377 610813777 383012511 515042341 582788458 673099193 123629065 200609951 468711629 682406481 927097912 849166607 467845407 609857506 547693038 450571556 628969598 449907919 982095065 550798085 836051563 706050977 238017754 528493100 196973893 210433683 382765699 732808173 490065632 967564722 404331062 281446682 631071688 858068799 741575441 768246668 530625301 953214972 244410018 253413993 579755298 787471193 505831255 408860170 816754019 574634115 819338048 942351691 800184773 468685137 824616764 916501990 120394053 403024791 989351923 278011555 787484441 863524757 568369171 519917562 228725292 327215131 745885282 459704154 187230078 709092760 950064462 655672124 927378757 274570557 315569346 346229789 829113991 596076758 539756663 393837357 624837877 840674140 356771509 708626971 174308095 522100255 826066264 651340209 332253343 300925967 972758663 553132361 715659993 537178006 679034285 394748526 755045188 645157031 694739386 442855081 544585734 414856905 227525016 358227193 654698980 151081133 651184118 624733597 352024071 179011533 966513661 231620515 898447510 834049164 524849315 636120844 311596137 425634455 964624683 764597426 885423902 175400286 597957384 590055920 284550521 465660764 545693422 788390547 273901364 710777450 360016457 830389638 532433067 892311271 843864782 816257020 966539613 991559177 213611374 931240841 487585899 184700270 447410925 338642365 912656382 599650841 716317903 857662706 276400868 400060631 841950298 652043612 249985988 287477527 281628461 665870710 854692735 913705728 101444246 716041721 242243703 466859316 246773069 521362424 792235679 373408199 831928375 976574305 939541706 349156747 444640814 298830568 489734586 950488680 648274660 405028583 328534308 523990652 109550133 188065739 288314407 378388668 942588640 136869331 943861765 678420352 493776271 100549759 743575680 433202117 114488830 750286194 115879526 490203487 565072267 164405027 926433594 482717260 157461933 134959293 815450605 182505477 504631711 135351601 854708453 678125199 738446100 747856625 762202404 329956657 626128783 756803326 342122208 785798717 461759341 464975277 205218683 148801733 323693829 920139897 108204377 706664627 899138110 460819550 684963757 714066383 183777059 216376993 186760451 748842122 509854424 811807543 577489145 783027179 677676328 800170676 799069004 792340785 528192236 312660453 324991853 405571179 202954309 441509195 796132993 831039452 922226372 519918302 271205664 661894737 683309639 625385989 223608867 829913860 284805692 635120959 568077755 563138239 961655598 391929488 392505085 809477206 748141233 470292079 999009800 433418802 685124397 374084038 338322204 834183321 243642852 691011508 841722875 489408374 535833288 601102727 882039085 755062029 828074152 534124810 692242178 881285712 621954896 352963966 184435613 239998247 736351501 975916043 753478425 997636099 883698860 461414367 555959041 791902071 828077509 656333320 736867362 432208527 389643468 597006474 565664690 596712060 689436845 993307077 985005061 707039647 780302534 752305292 345574282 544827374 193921405 284432178 122399221 940138185 961153767 143755667 343122817 840137014 921496193 787246810 494002772 676953793 268264840 535649368 796471165 597081509 556350433 372946751 173137023 803393541 568032832 646845256 622917307 294271555 581396741 229919751 704030651 147211527 751026218 142999785 473051713 921852404 819653823 421154802 952616685 209828027 878368619 286982878 288606474 980346863 562940439 878269279 101021779 554154077 580887716 426974199 735249981 928208828 340914749 892294786 215421126 133439220 104769550 534450329 222287506 974225119 344852874 778603690 623197019 778886487 698936350 753283780 270803469 354537416 875446607 522538116 388363883 421535285 905314156 403652370 981840659 916134006 152697745 191486437 190120946 166406173 227050143 599612493 557090343 508555004 652515936 732412127 147906427 951446898 471855946 179034940 739335081 796643566 641836301 733070127 400369965 347202249 106422912 897822740 275417785 559055925 426896284 593179493 768861864 297649534 529976748 361973583 710819937 646858328 858470462 334087096 967266942 632886602 661785443 936486844 919170871 312290158 483988084 852158649 759588905 655638733 383207027 443459550 485610032 702224200 375261406 769191091 596036181 660665755 239660197 774575243 289741025 334944232 775053642 483979540 181973747 295493398 942977460 814683555 801662347 534091685 602304746 812414117 160592567 542561692 158766251 460487568 159976335 590496768 669514552 805436245 937117222 561051033 335716204 767013110 741054246 787772569 876583387 294777466 605577277 158019284 430178715 466419965 226863915 221423113 598654520 165050055 241541347 410011552 726771451 772202094 974457530 508206427 177480886 798504791 194120319 229203064 786955935 287015344 564380112 415609369 901286486 913355844 439237129 438362733 810937947 253401746 153803760 879880393 559204879 965006729 211422759 300494564 429569212 201847670 670184020 655119083 777852062 564970432 329439914 902745506 437688856 867121097 156627903 164701503 120134703 330532664 988525370 910322958 797173052 449833796 823342546 831765589 597987498 524213203 384153327 405780031 266929480 872884895 535460118 224402384 782072964 196146327 247421673 631689961 227109268 884506263 625456534 415871767 703075277 584029341 555062099 679009675 421500282 470375906 550044774 885440220 758344976 582379777 822515514 664567390 751447540 103634432 442708389 433371737 670676208 600404648 582509641 180307969 575611296 867739789 253005915 713215774 205840308 241822811 911936465 372579100 841597638 163231956 682857608 823990600 212379518 649404989 726842725 806351850 665987678 432849282 192061566 886550611 714399990 992794841 837424309 124808726 783972742 928233880 624338051 713175651 943598860 378752267 567390232 873842046 379307820 211381409 481913127 545402242 330096071 449384568 653071689 964665917 196440977 185178480 813226458 721363226 942944403 814788577 459414809 648713077 460701138 353870692 512537088 357515847 446851400 185741455 619924414 206414308 967314568 581815305 732166194 744662438 164263172 366382005 383485298 640609656 671922415 882006709 951938556 998575588 554110864 766816095 709309108 736698381 281219880 158914181 939368380 143099755 249396515 537696240 427658529 127527486 290240334 641049761 591415440 677254333 671808554 782080478 998833503 974726587 816379710 900165003 277262623 372766671 363786393 842513080 744256682 361993723 999292520 873665660 419537262 729599095 241708371 468455592 136998911 830447233 928676966 161431127 724985957 902570808 904531351 969753323 165792674 613619652 791633637 862098045 413371599 173036173 560424203 504470711 506970527 650446402 333668247 881689459 700191563 115672734 132466425 643068105 792010377 836236659 325194464 384277371 239746774 872700765 125348466 512685211 617245756 680140150 458906589 591903021 736642893 372668296 644423580 739864752 729488178 300370682 741860605 134509330 250626930 654316428 291587637 476231342 782168627 607758257 705554125 683897417 706372210 429160915 462277231 471801691 392668788 501624308 812393508 103017496 712134927 944774498 732593896 218424632 493914297 667333664 257446003 591891076 528488237 394527110 831120889 800684836 497337253 995166693 667559045 229332517 475709084 251548173 964857927 195220648 703518951 544789416 945536905 739062096 776455555 983172151 679101813 974019419 668302011 568075593 817265509 666558706 860848129 262523095 462751660 743777871 179689500 825959767 348558250 960741618 295257860 271605840 652809266 890831077 741829788 230171542 306935062 320141350 786153194 614759360 812545981 465649210 826232116 381807233 349058019 571659807 948880675 993302837 130494555 976799635 312479808 317817942 279011020 256174110 287592761 493879545 425306474 749706914 630136863 778546894 400487717 925392811 724047919 396161609 743867485 603485650 302205617 382114824 981863482 911621447 870343375 553845778 730024114 110740384 500306734 362600732 621304999 127927743 837661946 543013360 140422728 605351774 977436466 489681706 833304732 318299879 547753802 830581878 339447496 233312100 186992531 288184924 298294141 404996283 240382258 966637602 693573286 623373623 250747607 645036496 475344909 395097268 391126533 818219638 737032122 247559702 510074177 846919004 164502167 486368532 637830691 831423589 996679434 897248886 864985452 788737936 541743803 927135939 835950160 298883887 121348981 377233351 911512966 235833556 461551260 621434415 762264069 717269256 562272844 214015361 973321665 503577934 169857095 166704323 382299002 628938476 782097071 898095954 994867952 351388214 527846552 429570540 853637209 404860585 730761207 321540475 755946791 845357194 877257272 747847944 140819907 558119260 871630742 323164783 365371699 328472835 877645383 928264111 678440394 361361565 533479969 913994190 956725872 251469840 262418644 255751748 915121381 799441128 354515860 760260435 196256198 648884070 189793305 288361996 833462436 517796001 728166325 696815180 510777748 981454316 512090166 221676494 553837801 292007695 161535724 116250670 189752276 399718332 669074896 778217899 547021929 134890326 344040630 425311866 699776149 632626185 384710897 391364865 605319476 605283285 281840945 883667013 494634923 208722598 524614270 378429770 920528502 360940475 112578883 163018379 192764926 647415537 994250559 818247963 149336111 740169797 987816550 410797154 481938536 514418867 389142188 281994559 412906137 663839925 728821767 165187587 459567993 783692597 347988491 690514032 455538660 664162899 882196632 328986561 458738684 257250834 420738084 710347601 749826907 105082049 166581916 593755931 426392439 341147514 346384819 486557816 472742419 831318888 526715978 135148442 378714020 405326375 411761676 234672824 668790399 118596227 383072918 172166613 584272367 511194990 975644351 675433182 794918760 769601055 379141109 418214083 263305544 680054131 372122887 204861481 186762812 374170169 753824955 748707182 115950186 487167483 509273902 977910920 919774724 104261589 622602509 673814370 898826371 291311854 101162456 616764528 649709779 369317594 962923716 903285711 607867794 556120147 878665896 977195689 312209221 303164484 310267766 218360967 600981117 920530321 783022828 927355195 818701111 537202996 756836124 138633468 911966594 101772379 902303664 204969423 590275999 530297984 194655621 514493952 874058793 571772709 255953064 476813830 398733481 527131006 979144330 363443964 663531645 125420567 172375667 357716724 379519639 208058697 647826164 818886504 325496464 554178960 877590247 887588686 269971695 820093181 703396685 760315324 163565951 652447058 662377331 628261545 330179490 623331053 466588768 715831050 730099392 170738477 691267229 614597722 740922891 862273262 969724899 879306035 278399663 296030994 121242404 317258769 378401369 383497860 272820615 526658109 310168564 408132062 363931621 574235654 943393217 365358071 392386352 328709699 889207628 750851980 433379508 711399307 596134922 613042817 342312638 117684442 882688453 203459608 473866275 643245012 783952219 234872289 442483162 648077569 155558443 938685537 724976516 388892738 298783905 287014276 994904939 537147587 499564243 801317440 708830186 822801650 799223668 669974752 803480324 839705739 551829271 213433992 306291214 816450181 170032060 786025756 381024586 128986892 387465796 553463955 538410777 668130358 645148141 116541658 967425326 296238274 873011942 870781371 587024800 491746762 749232140 468740537 220999428 173582659 835803536 916694207 426616021 245855202 919192661 815223402 599310952 721686604 433138828 112949787 157501070 260357381 552243782 627936967 894582123 303889317 746255532 683237371 377994816 506353903 804815221 487412832 725112638 251247309 144816883 170058394 354922654 268483503 527543219 244248982 900798043 204263327 687437756 865099772 632932117 280088841 935052864 866137399 927853867 335138223 271527938 306879574 859827150 984322240 981209775 623542193 332630330 386281711 311923816 673396219 291816442 401689987 878641983 931839904 984373020 471936836 806054213 631015739 850007017 505598166 736009073 887746454 365915361 700741177 685369385 745419065 850703436 800626372 174005965 836647696 119906349 513696811 790997510 344759233 270429024 174169812 840297834 893864701 351358491 910696589 476810961 206203575 751274624 396394727 441933147 646223495 250218747 242725927 998024983 791311859 556615766 208125624 423019587 130903025 966530910 277544764 299025372 739076682 526673162 526996507 112445096 396820148 207774134 743277383 265858677 604004374 956999798 439447275 704829303 302786545 405938401 808048134 611715079 585713969 673252141 768663245 722972267 185491475 874132020 294674937 317543944 465772023 477789934 359850699 690914735 985516780 543387394 719436434 776206665 615949378 130338209 778904366 968676015 558856962 288247052 748388214 534111364 373182015 260065713 503942677 353246842 358896433 388259026 497672791 376832721 248077143 857496186 300507598 490024147 478710087 734179746 895492427 572665423 570033887 620166629 270097228 595325226 561270811 981157171 312552187 547080074 878459065 442290069 215954168 728741468 124667746 832323488 868981170 485030584 145572124 808663881 456066979 276910055 359797114 265584404 200379309 346747458 109977691 113781154 350891875 206714012 862744728 444473385 872867724 364550844 185576957 473741722 791298993 175156330 285742974 709910502 543363610 951307366 864353957 153876547 964327551 772093157 153696359 510678863 757657305 945802073 355942359 553271358 575050665 325012321 787241661 801888131 622801601 267113785 686249722 310180384 362391887 723336390 343614343 126797707 619226572 866079959 534520979 109582707 661958630 630971962 664802250 218148290 209337503 569955184 758703955 987318262 905730279 638126647 730218518 712252958 765756879 400884234 978792912 593826485 795697673 591867905 851468290 854725065 548317102 116875521 619011380 379649221 879275239 341473975 769687654 113081702 877080221 487417683 114808550 475415751 226496755 139907809 410306217 322871532 444164419 594410346 669140569 577140893 739748414 819279403 767600169 141002042 499477572 717425540 784436366 238270400 643444864 183162180 350381444 968647753 831814448 724615980 802590414 740001866 499527465 347945872 643813523 840289522 424753297 823980183 294408109 715470233 522402190 200628330 376159605 928357319 746692396 356388394 770326743 699254046 933636427 994991762 308169038 908596417 310270970 541741126 752412726 557311311 310007095 593522722 375803650 941056156 229869928 152908054 638647966 404002621 901794959 571738717 533746988 504044208 426154537 312762021 712747485 202120479 539239682 692907515 889841919 610977008 732521597 494193872 526591499 603913139 139306925 229111445 684833642 953204740 421867592 379740584 142317991 973134833 444622211 663906670 107536156 515264674 100098978 812286710 482437534 671424680 583892369 313648449 565251874 644977735 661771611 582957267 538485366 641735253 536822113 208590821 124897505 870185015 547391027 733405368 628989369 426945620 691589124 274761347 263217360 538426832 656351233 913607456 711426182 663114930 203330015 344799931 415026977 900132283 286764491 951457499 319584122 406190600 130456092 871014332 280198878 998901425 399775234 931314409 782212833 611801082 589846325 773192461 351490949 850189953 982341650 750857590 470639810 653358005 114803747 640722063 984249680 232919405 630538845 339587670 132436300 646523415 664654572 331472858 117305634 102387646 292587078 766962574 710441840 935043195 250249118 379803819 628565116 949030095 319326268 421981484 226683589 829541932 760322058 824529396 735962042 641297942 568174827 172802227 717535701 394813031 796861540 112223534 129185615 799989683 944448235 541231389 137460458 868836284 114937860 212530212 485754270 727608320 962075195 707761105 915720243 830068119 896142449 288193768 238875821 543578534 907569606 739352481 523214819 356468611 922902669 271925272 341081522 138436736 798303176 370987635 864854984 560270255 156402221 106436433 480847891 441642760 793224963 697334598 666415991 191197723 247721395 601237203 389393150 204004972 912624835 215540431 295098663 501605811 810960843 385037083 160181573 488319385 505449791 517005647 326600722 227839833 263203841 494249015 339501616 811477051 177088896 250404873 317108346 226429644 349843758 114220367 844732394 208655466 213724357 984650967 803603181 328606358 316882780 231741515 867383468 191564648 298068220 530399540 122338241 769882943 599038506 478925518 114370015 702163094 646967426 453320079 934152723 681272097 647702454 735872249 991503254 996707455 555137736 182974038 810324973 128951903 868690153 396325826 929377609 308945873 372001098 790139911 660223273 503324563 820192965 817563742 563044875 868605180 471172314 581559376 670798976 997082963 954589023 918869106 621842398 860868603 272797684 359064970 487285406 418774689 410509972 878019826 707770126 342718391 865571048 302601207 766210953 640212970 729581219 411147327 771677059 675107291 232022917 958945410 281486181 757829105 738080905 315622304 303768671 692869546 101444229 689216162 594802695 391928312 981309943 313271226 570780155 642530453 176957111 369463390 597315331 216331793 147985966 911841893 669298927 714320177 179899477 552859825 558149514 933459434 534370562 236537795 454379061 999044386 681143664 709775410 545429185 998980770 486545677 805303615 385013029 142337024 782996185 131191230 336007180 227002248 244436355 746024213 509593338 577901579 431213793 710432468 645567075 939817391 602856482 165196275 901441388 329464661 596622964 942889044 646807984 134573763 343497838 343304981 234630008 241392868 712712570 496875701 305702485 786160858 160227616 668311361 708375118 387208686 613192312 635068334 976950566 473976199 743050256 332614752 758826543 238142929 114377833 761799981 665357554 212314848 120844074 904392270 546142461 167469704 859874616 229577839 683645178 676890545 547334711 904959575 373440900 398729547 149269124 524206769 589562184 185057335 592254496 173971925 835318017 768602534 830360460 819707358 471862768 251155272 122975502 132766165 224464413 957605032 578874552 285937895 126178225 514207461 613408164 928820550 308441118 801257537 915446773 424239334 384923301 263852850 592638713 356939219 544826022 469177529 850764773 245401140 787951063 102020925 790378595 652947904 249303318 935758935 652526735 610965786 150886378 326929972 628130631 450358286 817247965 200621055 149489309 238274187 939739887 257808937 427616466 235843984 124501557 248595409 643429941 656942263 741827431 471500537 956975685 306706024 390460454 263807596 438860858 220202763 462830747 452921955 282450987 368072137 880048022 265823142 572864782 179382266 850161860 333195806 617730289 843315230 517132893 776977479 925995394 935838650 868592180 276562800 469726737 233280183 318905648 196269394 866943628 807622612 956870776 281656597 541524072 955740775 778464233 550910009 475680306 385331164 893071181 157172716 313400010 112974861 187367363 468754144 646102390 720220221 520354910 205236527 656796646 908454576 548037756 388127422 842263916 627485608 654200592 845892472 138205229 249281919 313771538 679520440 855682092 208021727 609446015 245633687 250081176 674438906 967775874 671702354 950598406 724915885 582885844 275661825 484946607 371272934 855208024 119272937 737850666 874473890 670637229 845542886 152289112 619615163 579908930 186098958 704669037 619002085 218631890 984744279 990746085 442818826 684943029 728349848 985044324 251464560 791404832 898115370 135370517 370546789 217989852 759365752 681780360 699098122 711274046 875207075 651380235 829846221 336709189 686109200 928863288 612420131 127989860 786204382 418102802 590474080 974752435 287888179 624410311 757702411 126380180 441934812 303655887 362781840 767178538 479152440 477663267 436262004 937407724 661473711 997452687 200489232 404228768 996638387 232065252 425256814 966822241 933217059 300738439 695863789 376153816 618206293 458130409 410056318 773873061 240284929 218509150 958794567 835240455 868116569 682605974 767574370 105357453 802377240 632637794 117476991 951051039 472551674 801694415 102653534 257749016 663956997 790874105 405331307 909505016 922408615 144629484 165622380 341238143 552166332 506014618 771699983 904428842 766280196 655055970 938411075 111217373 126607957 942493562 311160028 272453388 281211292 930517678 238557116 897927996 670297317 295061435 167756254 440464963 855316799 591011629 447116361 123761699 575029310 980815353 646066845 235286471 798647680 556116237 717742497 821235350 848333191 818780695 494746480 223369804 378264204 426366086 712540447 833290598 520782670 821206763 798343414 737010562 996602432 805796594 512840141 672559750 565421712 266424899 874379652 100708951 665854357 554763711 726734129 914216043 317322979 715737208 803902408 252071968 229445920 898272498 716467729 240181761 503083180 919569156 301913549 574056656 961578428 365777834 353297405 493066549 655175012 254630381 225915331 546523173 422904125 244298089 534228910 499296033 399958755 741668078 718409983 653202563 130266906 503329171 896014591 912691201 434928925 784354693 431092805 331612345 770485349 360579883 913149331 992016407 511694604 235933035 425250793 895268611 591394420 857208334 257185084 326626101 239288776 846880949 878853118 108992649 564445199 881257135 587148605 190500085 448420659 992476040 514349555 959603719 117199381 870315895 438799533 449766853 124376875 979320764 455908371 456775361 582201750 271034604 522193024 990685084 645156346 223849933 309951467 310708230 662013532 253044713 798936343 185018791 569452595 825465083 907565140 752164949 219461032 758796506 220774162 393703109 911462363 532898855 863108841 728899016 921177368 859472471 741037653 949995662 708307822 410009052 973704716 935215299 786651984 712281348 285984399 876369451 802402067 802404650 866158747 928543668 731984527 728506009 705950814 213095714 134075484 591753674 131920134 210497394 904050259 757747339 483073360 524661077 260889615 946009828 631116802 589167564 283327572 488720054 666608439 149280758 489716422 968575228 658125275 603002610 471729403 818594433 457021050 717462534 797343632 606576338 348188276 162758648 600672902 497519780 642644993 889058865 959765349 830099596 166806951 419688287 903071400 542763975 427837883 841551843 774404629 414645755 165583420 652031947 588988499 345227754 554432876 701514488 650859057 757012147 699843119 720440880 588741721 554881374 384171369 229240914 738646533 309854875 116848744 679989942 371929952 730652478 965961013 982813797 962704641 162241529 959912950 648910680 418160041 771635995 478196421 581961588 918220809 596490887 339583610 480115582 559060391 358537681 216805847 530081782 686916504 437386853 371266567 531981486 587271571 812461484 515009584 587108214 211281716 733634998 727527292 475134075 906324274 227548422 702683169 495868365 449823880 805268866 402911849 899648471 234172487 366392333 828585605 940912083 427551678 783156711 556428612 142630821 130516926 354060941 673736642 641532459 170776101 761173923 909849144 114645835 144153181 760528202 260319688 892086185 583088564 606264188 987127977 991020407 961127182 650407190 751865090 355740069 626362835 442603553 195608228 687154196 311671592 196247214 233077239 665961447 520247586 638412929 157143259 175425920 117908312 551016828 252761264 316897384 602241443 960579856 263767422 231804256 345251339 199764670 248381589 325245082 929719742 233278204 121200625 989434026 611522235 673537234 890064328 196565361 229994813 387069768 317589940 517951724 651092220 683583826 703519090 395795464 969497403 516179844 539209259 855224076 485386956 662048924 893535579 102574900 327448101 472117476 172575954 520756834 758529877 574171140 715087477 620882489 593155287 175099906 768485943 191645891 403033757 776876379 365982300 404659796 501956319 256182236 729979257 166288784 598845300 122578103 442752229 605628002 546935248 127475699 533020491 850708042 225586870 742738561 483225978 665592310 541953217 470093361 905474725 532517242 544225027 317369639 558155905 782970212 257423436 631924021 491858837 844053626 373462596 623884963 116590018 481274700 671947330 656449806 283139965 243852428 541230651 166952932 757500551 655885171 715921918 745167665 843511634 511507891 150300287 537717856 740999128 884043410 880681207 872805915 269128473 575202268 114340308 300486069 511046976 169601078 595048442 687389561 868943891 830416761 109997951 396153725 910992061 978917630 350594343 907510959 418777920 149855454 702476471 570312160 984277215 569802851 168793174 252789189 751749574 147625157 110821290 322772783 935936828 967946732 874094957 538802987 215289007 756193330 745851732 669115687 871187146 678413856 251356918 505431367 898851705 277409794 429688904 257301885 649076483 338873436 944896302 540432441 590468070 428785100 974706845 354490193 809208225 567362122 987944072 476732731 322912467 451271867 533988857 731274268 839750109 863955491 302186334 138577224 686597997 801465523 711209002 702096343 194741482 100394908 510707097 538274676 568733889 424218092 319080436 413197472 621302643 736010750 194978452 948210875 218459778 997980942 440319047 472017694 888457278 557635517 952154757 547887036 583820665 462022282 435496944 603968985 239688818 828543756 631143288 310113124 979264315 275240615 520157579 758888787 850927231 800719293 701275402 669506258 291541383 813342214 311231645 432040923 191050433 580724683 186783750 704551625 260603000 672809652 202776788 222520079 413892103 243629269 191439531 678021186 209582388 106504581 461419125 528230396 103599328 720372786 444931332 126375398 528402262 785043697 248338520 118246495 939195091 168622776 980313479 997532182 939251847 924992284 223772370 143367175 777670283 533098172 286449032 733398183 133027705 624888048 734599943 907395984 935787503 185159545 184787135 595055774 205807956 815781040 652294652 145210190 505277224 192782318 104846001 651959098 118380973 625693994 209378858 897677925 514072774 367597791 383502912 575993925 952288461 205399474 466943381 508905257 577237329 802090164 700767979 347115628 214020831 673131951 308884031 240079986 683125251 404520414 397256657 515993628 599085614 140701896 697373541 667755927 523650899 713321292 383372526 179179167 638692630 475121824 913238797 672711734 385346792 154342963 565644110 901909451 960026876 483457224 714603780 111066061 560250657 670588096 157211061 520227002 113176049 830012458 568623341 373933516 928182824 228780355 676515258 924354028 421573449 316957594 172812854 400759244 680477862 352408989 175689388 139453621 738493163 115850891 208554730 792905714 451768869 169570134 684513749 490115721 990940241 691245497 583976290 921523745 151399566 632202730 764837403 541591827 638417747 159177706 630312349 889622224 681220866 434232002 719780932 520317559 654556814 876503010 933528430 139668903 625632760 460126915 768784394 496654252 625109830 691656639 932024094 503013382 621817462 751194955 724077846 758377914 352395599 543819019 381419058 962960572 138054457 715494914 765598369 930781827 915926774 363272868 262608028 336625114 439624390 575070416 384355296 334591850 901772273 529708665 192002232 489735930 755775915 425509404 942964871 667452161 554636602 644595564 510414649 509768883 498933817 479400632 515202192 261498206 934663137 453595766 362865839 412527867 496153208 213082668 524719441 279368315 785880770 945768900 880592082 255868307 719720564 423259019 978150498 400588627 246960084 717872353 527609899 378799055 356625162 911449823 800163687 319351773 402146848 134810590 713502141 502704181 964300011 860735333 292193013 834162473 595296395 489188636 563673935 761213183 645610454 196528774 916928008 874708303 694838693 165454926 970553358 943266376 874997423 969666640 986522689 782661333 296919834 279446498 429849721 131163422 937925074 791105819 960067338 519653225 412331825 661259699 840155740 486431238 707818277 212334544 970868058 356869340 685650036 655668044 461719413 116198181 792504643 193873584 334965213 427236822 336426120 464994262 193212431 464291529 320511268 749938382 497301664 867309959 862746563 428162221 374996767 725851960 662898861 390215914 417515150 234688946 893773837 782347025 135974673 789016104 250424488 904931077 163633029 876645199 293795830 806098369 569361056 399007573 260426849 725900632 870054806 723346227 273988085 955962447 514262963 652394515 923940986 521671688 172990773 275871644 295476006 457617007 183703758 406062447 604174151 839705954 438976774 134594729 621159001 112591009 388336016 513665692 937084001 679651357 618770901 115612608 417537359 812560849 716217526 769100899 422951806 249920379 269262180 288356368 468454448 673015698 432033589 735917413 610313494 289084653 368009328 911157357 271627199 213961792 881453990 238521948 857687885 920006544 812640483 751458916 803139676 399064195 513009353 294020269 499017404 442178250 253370995 607252330 256550022 900099063 925306952 905021986 391271728 867319474 691902742 858699001 621151002 726731846 438674427 732307553 664226556 452650858 837324041 899612520 106339198 928783536 892117413 938967233 517263019 154746894 428168518 839902159 205126955 542498673 913526710 414019964 310264852 143492662 158115567 502594050 230385341 230184922 494244701 501247795 494239922 689099348 497546100 474457471 961375735 963260390 920277739 832390956 768700116 718320150 242899773 603827793 193170410 801131479 104638816 950427477 434633528 421323200 804698336 156559996 189235037 830709699 695338442 596946311 487141622 827916260 592602241 745637013 852336869 300538258 946147368 898938725 246322660 886441665 167123409 111539366 839187629 876829701 294003954 492208565 943076965 154464388 209149884 798448761 140918962 932301082 935195099 569430918 674616510 432947675 267144633 906290726 584745780 544154124 297641945 809364911 111430215 261901968 327737235 278814510 257958802 969680210 980284891 761830908 205511108 241875024 124680619 290516881 155245441 576707975 292377979 818115415 431098101 323606739 109283581 643904947 189738389 353980388 345036263 188709201 998399369 133769400 343555449 668576372 545905709 111862528 426565306 733167496 750415644 292591001 990281827 852440919 724675159 577332534 631470567 599675608 600562639 122348924 430944599 738269490 424126479 781580463 404622204 307840883 129841044 171564519 999422863 896445391 782083893 287094436 408501123 112512886 695072902 847174303 398398003 128659867 637838105 737954209 649766202 163279312 150607512 259127547 149436879 731001916 214570796 286347320 451735146 404972913 114525192 766455156 341131066 965425501 142148866 156618935 898182620 321215967 371659417 185445107 546037272 974457277 237740635 826137143 138169197 928408978 681596003 979392029 679138817 866239885 492061819 964880214 828412997 850608007 828682123 450390074 233848088 936727410 468110807 912445479 339448537 491858664 679404653 772949291 617538478 274124830 172821999 390006271 386051094 230572716 332541533 922046881 692634775 877087026 267409356 878611114 893586977 518289959 698274063 940354185 610747787 742139361 224600461 915485354 873101360 322259527 964478316 662148781 753868359 728717360 712805644 794064515 550885375 615838656 824011361 165563050 701628369 376171122 915771880 945552947 131192514 859274411 554760545 399504693 525878795 297055855 912056810 766458509 822720508 441439302 190871028 813928986 138071319 278037983 302669698 814365543 468048137 265197566 871359854 975653968 444552315 418596648 956104790 620517627 767330208 956490049 681070588 147776729 945647002 258532001 322836717 395407136 350720043 430535598 824211052 661745502 145509927 326837781 282113816 788763034 833075009 184322268 392569067 785336727 948953263 502430151 503497009 472192335 630838119 789475657 156260494 564017510 280508292 582214839 993335653 132863459 891472881 944883305 876156439 273013674 122312356 263884547 601118157 795179726 973027029 645587202 231042722 979473030 782314588 283164605 662699806 773480457 221879480 454443066 211462736 892456156 416258642 827702431 973321243 776048286 488247049 325415340 811002925 189828994 576253492 488120976 967646465 863333178 332410990 771896033 856834531 448736222 694042425 201481980 970164274 635582691 372984237 166899796 465647841 915349623 219199543 684864396 812110310 596048786 236791509 303070752 441611836 944654431 261705158 203779258 677626858 401292713 337889754 762877286 218463949 967345884 468591528 913093502 154261530 863265118 378361622 935039525 790935073 847251248 143122427 954442081 865747034 535029917 906563248 654884485 810594252 849041390 301849655 426213670 186069268 282271596 199846601 707828416 583486345 802433007 205574653 949080291 210165801 874732668 794949963 932892438 724488818 532945255 554474730 384986942 581365016 941805635 823128036 111094750 811619395 342756869 406906716 455734306 619176980 687445429 775126872 452318731 177046120 390072123 378353856 602071096 425325386 843927686 708075261 964773934 732133920 337721824 124408830 999959115 606338757 907068423 558134911 608949649 968116888 256161158 609059553 967239849 466207813 318281059 870631673 383157460 795073306 431110348 587783092 161342316 957627368 697027237 338719148 272200051 450854117 658677129 687830700 814180450 105893704 982856972 989272596 595049628 643368104 617355348 856529412 101326882 867764049 326594422 832344688 176660065 330987439 714065993 126323390 455978213 568942095 184482697 538870322 646224941 472622848 219202734 693003148 247584489 955431305 915640751 800514039 674007790 405392027 552537037 497676654 183484382 164258598 787411537 580106871 976121629 968432767 849094351 844186841 356440416 821402159 282928418 831856650 577207781 867215932 703787762 333190341 703682015 521417278 145072012 375718102 665263107 241001594 169064583 601308439 161391089 265150520 436118400 667023814 781026828 316248124 165615116 442590793 675831972 254926258 272219378 314839892 724745889 353562532 964653064 868173625 448547817 473495161 868368810 671972786 657709109 449668474 764186687 465072214 555447238 764713895 570526439 861681070 836225106 535307800 657870072 722065928 241685260 971904363 407521358 708110438 389183292 679820723 240142357 891293116 266243605 341224441 261815521 957315447 681710604 854067501 373131348 432235555 413185091 119566707 132038599 610564450 980914183 952919684 407023389 613321894 742007271 758911790 560053087 868336557 739811931 747058924 383260946 160414261 345599718 176389673 312991637 752073517 653723123 789327270 571936048 231292505 922732838 349302151 542050578 320701669 387491333 156779024 696369787 348837864 198980364 172372189 443505253 868059242 661194331 606560709 193269070 978265827 853224738 819897757 740277823 170051128 883939591 907940429 825628833 780983032 281125722 785264471 633384678 309230166 229868053 744060715 571247719 126265858 336445377 541076746 212323049 199828884 191331234 561183658 729692759 585969803 353846074 686171133 898438627 371640758 763075193 763785208 150278636 576745117 888850380 675253836 810683166 262086190 734614363 128063202 944199492 800580273 140263829 760418766 403089248 987959518 762526034 892447836 395246116 812094032 325683845 463649793 987763861 189030609 961022079 346060250 571881414 911823401 678849114 255306825 496126395 572957295 930567369 788401799 741965100 490142741 694031407 826201065 763253926 487763474 149060782 218072663 410221939 357393333 454181390 749315137 906233970 907768274 901434266 487802543 445296663 981405357 114095648 300499336 785971397 491596047 702498795 396733994 551790862 252866016 596550388 931068322 195907962 166332321 525656433 882754101 506452937 775754788 936436479 777974833 613543210 627200119 894630122 896007372 265446059 336527645 634150525 683860403 368085576 224297568 780776777 328729178 783143743 123703407 335423979 434890804 604758722 583731192 932767510 144172300 708722290 728803084 335520094 354772800 115269614 875828036 397169016 829743587 824727971 933845446 179370702 873052278 688220451 381036510 350529564 762112913 406464540 541585278 340978020 537112296 740463792 106333838 399026438 743492682 251075523 462714780 597046452 104899425 431773969 464721887 879718655 209337811 654717997 233912849 548278136 819994005 602579111 460735404 677000303 743258139 193214911 881788431 755769267 186648077 311469770 575794010 316216378 444859101 848672084 737679523 741490326 822123705 235778940 651853331 121447888 430072492 736953421 368975634 666451994 992810414 993952668 774774824 396142399 810087179 130074755 147194971 967891346 908299624 267655285 118462069 912548593 785380757 508628426 585067285 269230498 771209824 406909907 618985940 495750769 313360514 513262366 242318549 658558846 878119368 184905599 664306734 291759818 275035440 448633652 595976912 898347975 114267267 412083109 506398830 270432902 448163433 322245819 336213775 842214579 500803245 584770950 909426995 114472437 878790011 419693623 930690573 115304721 662705468 254998883 918747712 394922079 693923680 922209227 297136350 737300962 615460214 921996188 719439676 738844881 702075672 959968936 497057353 933580191 580507570 377799901 267989138 732816522 475007360 435726174 813743791 784252669 554512810 388020965 512276310 274475979 417079311 616204098 775945332 410445378 647250377 565384420 759150696 408256665 643309001 737214735 160355786 949362041 423951749 498163303 393905286 136460873 918428776 199225100 116182282 420758392 424741098 183335191 119269152 292422167 838039315 248561198 356683703 807227253 439871833 435067048 424340645 945540526 208079842 306731684 531949746 183827870 783695462 122341829 733029132 340680901 701709465 709323940 883524801 442438947 387163248 980665211 344805140 783684036 189777800 234241388 353683806 209040499 113232801 279484454 714294992 940378153 652329028 419739059 127123527 669457118 512900869 504506694 813397660 289179903 867557183 461187570 555422776 900065412 541161050 684288824 131189558 241724792 687767423 728764077 260541829 975960866 994943124 460352905 312035206 588958047 517312531 341819297 942667710 194095941 236379905 548473392 898913774 566402325 660772988 613224935 278815455 411802713 108447937 794120716 103380646 266563184 534239346 711794227 116689824 717755130 708428249 853184396 507434825 352797410 829421612 884974142 291671566 326798325 146569636 596975710 954389147 264532390 656350495 863789699 710546671 783448139 260505443 732354209 775101557 424669099 611999515 359233306 734426553 296311236 766686203 594558514 590463212 891152141 447589549 594443970 506622546 414095280 844669583 950459471 694139626 174341282 539896163 839329442 729439023 930048797 979566947 306148102 750701710 389931617 854713957 650135069 848413599 834650620 256165170 701288697 430618725 880568405 562808665 181294029 530414547 308360113 582173089 617477102 346243691 409032325 321048058 592310244 662381990 985693871 931102875 971667065 539356453 510353305 732346434 599166233 916234571 622629701 440182404 471228211 241433625 337038857 427159611 406471087 796635320 805082482 816192041 610239406 500970241 619311570 128536075 462629407 367116127 652762231 375991746 349023479 902807846 261543883 576689276 567966488 238680562 916578892 810830744 818598455 965030483 509649357 788437626 928013427 620214635 255070309 967733934 893531168 301098650 974275652 930885900 140999019 758040401 427453812 347948428 869154087 541700394 305787543 256776514 128230650 158306037 496143651 900718333 707066840 194273591 678854025 326250815 241023821 500951231 145679338 839768255 676441857 645192920 728138367 612526049 587142779 945742351 810290612 898038102 254983575 722110981 366073015 862947552 976032125 187719818 322271844 703436875 897378665 910555941 353256505 306087247 291453513 178154030 509545783 768749010 610227966 898083847 893363818 219785648 404802389 380785125 842622668 812110521 526493998 824640452 382530024 258773515 409745910 448331693 205255742 298433991 496953720 935261193 992975130 872893211 670887554 194247997 500887607 833147376 894944757 101752747 757316314 812777522 741953195 446461815 798082653 442518496 866410758 441627071 621591223 330898158 779154898 776411643 371286179 575582498 431106012 964554658 291275456 511694701 238931687 247842644 867214980 136808026 732983225 745137926 151836635 392753919 717865747 598084682 481514893 306828941 900535452 189401793 887758813 715632540 865115572 490368734 531099971 224045295 555449851 652492461 561376699 623248937 493765734 455808115 907480159 656180357 861842547 170897476 551537121 295795733 320554180 520539984 190311709 977836083 449272614 923816267 774823262 495800845 599268222 292085405 570522050 362753067 442193093 495103411 579896921 426255758 497418172 718697567 953979768 624293179 600642660 870472604 365979008 995878566 753040776 461486387 732346109 245880051 770532087 907079847 630528631 903039947 165270519 293260680 697128561 159319209 730232906 256793739 705925473 553698164 276864361 661121589 447428974 799392108 854951344 511968686 514875622 396809044 354823756 555742149 816398093 276677397 192008067 587780686 122253054 606274760 911619274 427498048 217089125 502941378 120081085 104881369 831593508 180454278 119237164 203375067 257313890 965639880 918260616 885902707 376942908 472752265 168967980 641111119 738511170 781245102 530063060 887760719 974146077 859332997 377250141 711783027 339561509 654098232 501632948 479604586 308921327 446341307 457493145 476910113 340813440 265605812 244355806 788010085 670097473 238467764 210243913 909576896 103006816 765692776 509819327 659830181 706883384 710354070 898439887 959872341 526134559 288675088 941872050 588828295 332497056 634197666 386433812 677339638 336677571 244940045 690308205 531980483 849516139 832514435 132885291 419405655 675981029 100072631 658416725 330694199 459987441 564229857 210722438 100270229 802097265 896379028 524930715 386790869 548854148 819015465 360901588 112078488 954556646 438483652 503276214 706454462 202535696 405477562 186208428 661865694 480218746 424262075 826328608 225051713 228810009 941398017 702997002 721595086 898559418 875038151 732295943 843635220 568826744 342292538 248202440 393191020 232563610 891674133 195092054 635401503 936379277 269745690 548677369 897456658 710644460 104655056 158096580 902238761 280800531 818511232 364182911 151569844 707644166 332175169 254522187 791488032 995358753 610771092 999771620 775246267 956381317 226770815 140489680 509714328 618626523 648900863 137675038 104159074 665071904 612242303 333969803 621102942 370203196 495361538 664374447 742937970 179975380 617597398 214031924 960189071 864701022 764238614 243172768 462106121 717756737 881087264 294946673 850619945 340702055 653889670 753412132 113239567 834724284 251403596 545352219 275005653 368799010 110381209 625797988 371613254 637662917 593055829 741141475 989181864 626624604 765393383 414556730 660637977 230309598 581056585 354432399 503010650 639341155 644563517 848752285 156437703 119064246 742942976 337054997 644726279 824038246 631777903 172620988 254213817 455692333 679348263 596610703 936056921 140295738 179479692 477515801 224160899 260061590 637807890 871686148 258930349 405141389 529367949 575276079 763871054 932013080 768979812 890281935 636410767 440579069 809018911 686298280 666128551 538856914 725923431 571342498 163452501 895993013 858290197 516406787 798739941 601533077 186615543 267840688 832005792 173325217 263204756 276450484 840691383 326769019 250231245 471325151 821039460 349604485 306086238 890429376 405726202 878383011 436670591 405998262 953044123 296905682 677490057 669383698 337923523 627099840 762412091 372343942 206087558 210097417 577784486 969640787 953387176 542735688 666474885 371904799 831511112 810780575 235220276 358816886 734325706 217442261 106379353 884694857 749184892 467944728 656376312 416333223 816315344 347911824 227690215 892487040 642691586 659132085 203245890 966176224 728629287 769717547 650016726 561203218 538932961 674851500 305063917 836995280 407968429 372139695 875277343 182679543 103535854 387777514 907403138 551043248 924873670 215844753 713109455 964597584 949371656 537779697 268064741 601851538 567061047 309487083 334990479 643717858 362079729 731476516 147613262 133690299 476553202 961841283 638432174 101490288 807978773 317153393 608531718 851827707 561507862 124546917 659924026 583444745 131819598 660026928 281494432 659872075 659636446 471067514 119522299 526394491 308328082 587081454 746205203 938407225 831905813 217606277 570307981 908706641 475704703 214770492 630565223 557950479 757602458 618438529 462675093 333852818 275316132 775450332 284159280 720518171 940950469 856196695 734334130 362621088 119787368 160422083 350027565 575854790 872622353 179249751 921942165 954878807 218036359 930329041 467027952 796716751 149222115 847046723 875596504 350961328 708175961 398764018 991499688 617713464 892777647 120019089 245072273 787756990 681414098 335626530 116232009 238664459 482561514 461623307 286333656 571498732 319671344 973154514 458870596 203786332 225929154 966554921 842028978 870734984 161356352 198400240 115840479 119441173 602525774 354752758 408722002 607775181 688171485 572857266 883919549 872303517 982938509 792619447 415298624 447161099 198631144 266416719 819120302 824627906 266559968 792666645 176255133 277335503 646005217 351519426 563586198 909216000 290714692 982436642 909249818 330001531 956714406 468965131 566966251 359023779 316035575 186166129 175474709 355530898 177142496 352432187 685158018 789279814 257761732 679121284 856556805 401315488 151229490 363458080 296822832 582225340 761288133 176155349 713181190 845046496 252417966 600993948 571394270 386488692 695468621 776478989 942499224 291732741 261901772 780453994 599136847 464205336 607845411 950731405 415990354 969720154 466350280 987306006 177063675 351299623 443878925 490142663 439987092 384546359 821591365 417976515 652263091 554378366 141544388 143709133 993079709 926456443 179630938 681118685 973570917 480441611 608983891 107586257 964014126 954691323 286665806 506642179 809179767 570566508 387063290 192548508 256543707 232887065 958652500 463625513 258380840 384888727 760331353 593209183 851442419 511131858 663621230 932221724 654520407 138232733 477320966 166897733 321965799 851229006 717502899 652898111 134606791 930761857 377737346 964915068 632047482 687303991 714261546 140349707 508382797 200938668 537251794 223615620 711139983 878823374 996983466 256511884 402648761 458064909 977368728 935350267 377051049 137971243 114022197 579191120 602006375 568554974 357618296 734338460 511774434 380064464 397595262 194677185 411885637 169345308 324785054 909638078 691314217 575721576 454376631 189404152 937384372 915712084 644112735 120094140 272744322 624472899 115872128 464905729 736456090 523003939 625899006 408963510 260636765 554892818 921245262 263054517 371144439 163496924 143504929 964723464 762811856 921241436 297479654 205727268 496372276 150659167 571219054 253336219 575441171 569222131 139169942 318454551 924931302 900049957 771993546 643108489 907185474 542044777 295911622 982763358 683345011 413313663 388861110 854729026 674909649 533328045 402032668 717238353 936430644 310370039 579865612 497912343 191825314 440000088 571286627 682587300 402821128 833176983 357948035 732236855 402258529 287183652 441971134 596087103 516664697 431949760 525697836 673792839 567270620 919634268 782326490 156509844 961093486 622377844 813329754 228200021 783569571 422477910 743679072 328795687 188190726 626857444 565183356 897068271 670639999 111138550 389314237 683491105 763967268 107086165 995870441 158064789 728677198 791230117 864079582 985486269 791337838 197098001 420756512 347287685 902136584 830958312 508797075 619282818 184908822 345897193 519363974 770896877 783026963 988647853 829552930 775272198 999137810 175083142 931090410 649089785 908108672 115199350 407635877 962446065 161024040 751662542 816648843 256702064 519990967 861980519 447704972 883763242 994185914 272755912 479741059 974966647 784184596 292146187 513748565 678653842 118589810 398693016 572576520 993619869 513353487 307583977 714991564 321911785 452544308 231786419 328451009 740380814 124803284 984131764 747720612 420939971 149694392 720715348 896194971 627901827 469076032 701041766 738606277 166973267 473723620 423209621 453310642 729209007 570759430 895043541 654836190 540080550 795572940 549084183 837550528 858811219 464701791 297572722 255953892 141146251 519313931 615909780 882098210 117325569 307423384 113302608 949363490 229953429 453061841 938743551 587591447 826587479 386272884 863566393 961525200 752606809 504223755 176344929 428968491 402856332 479931367 451936786 289179585 229031263 274301515 138345800 677950137 289757595 255682243 562929881 398811067 145379261 349300615 877002834 352856157 272572882 215684833 120776820 964578284 385120036 867398914 218954777 699631838 256692443 221240854 518781235 616951037 522519808 633405958 991556264 896200821 533897284 518803098 844780982 873952422 481962681 284507478 472546324 303701902 780116561 501898699 836062618 506344182 147186589 655790911 571657420 203544898 398898998 808011865 285694351 676878234 606706581 270228300 224120618 449900655 324918080 843977147 530970874 302197904 222332694 870789414 687097433 811141395 646694757 894215869 720323374 162441124 387372777 390744580 444661249 222258220 729108339 403941760 330198185 697135758 365035176 823822409 817785591 399784420 812300263 263972818 624927059 452152600 342445290 672251394 157852623 422356848 759010770 160436118 456859283 157869946 839693007 611321114 454110678 129513341 696075295 974383997 173834002 622110316 787669632 167663900 593836290 676539046 321949070 813170027 659036915 271916854 787313519 414070724 263743846 786791112 636501061 969261633 197429207 892350638 386065474 328064475 545239037 672364908 221984387 630778118 594019339 977670586 531215635 207527365 640961250 478227789 173255206 711567786 833338106 681437513 477584972 269028620 418261380 590336887 999168487 898846290 730092003 459193824 360574930 707222604 889806850 563116899 595024526 227242440 312991965 460468379 646476199 743618592 696579566 812196421 694719534 203218247 506549364 115709126 996915286 714375955 306801890 456228066 881373420 981299015 413876704 315404635 174222736 429355635 948706251 658963295 919567349 278240927 728764136 382305984 146257021 470256277 561467300 954314359 848028419 851341455 534315715 240091037 790258916 912825524 900465217 575350614 817727240 539586099 553324367 455599445 332282836 157220675 776814224 926568577 639793583 380993379 556472056 818321970 525610093 154962534 465324073 834987586 423776177 424478657 479107344 797265142 371318314 763207911 193679842 979642296 111917061 245946418 343502028 247837198 120189323 492820561 566556506 564072426 346206965 961240784 740038689 435242405 894231778 588630267 517904926 848657809 265118514 836602040 309453151 561778453 576439527 979965428 829301349 780101558 201042844 292712297 358449282 582698623 234181750 339577853 349904205 449890823 577903114 837957091 707694458 161978739 141790472 106165231 981056652 841591115 619351540 925783482 910227429 662044648 328737255 419579452 145099929 270786098 626268285 845415379 508508555 995006860 993297375 983592533 389568703 271814775 593878701 768303240 586174631 131568693 154168739 790703741 752092383 186315385 459582195 210012638 592067453 424470202 970848315 919940230 782440549 353649061 461148421 630333116 937265989 429536949 400727827 588621489 186349447 176264213 276647482 716840443 973558923 176844818 512176436 704340947 994347376 610751143 162567973 670963020 282060364 397301101 272060565 432171674 375425300 856068484 265751390 274681472 967729665 819868364 689173168 204510495 544092358 751385520 153891624 145976390 261888434 560511071 734921266 158199648 804469196 499213295 986337940 749707427 498049537 512154690 461426321 724017496 500138199 126895295 325015417 520310115 254332919 334351696 132106366 668769059 321169673 133773055 903371101 786732087 773560055 436651050 403268072 947919168 336039424 474083653 115021998 466786721 660126566 848075431 227486851 668749071 699928897 330791175 633555439 196631269 313725211 226047096 908440330 795791070 550694161 282305353 101152318 492339440 729287113 255226109 208097485 853354553 967123869 954430004 883378943 754929529 495394847 705525639 482614442 347226595 566502467 709660924 767507799 674919426 613025379 273977807 614422394 650832602 123454320 869485048 504744826 712324440 298474267 272759577 441895242 779009454 757015687 133544835 141516164 822962632 782780955 200416897 772655009 372767458 712656196 140488854 129410542 970230096 336825984 443272060 923445197 412389985 832837846 649121239 660077989 967498973 488577192 847660159 664565591 468074166 990882049 271529095 616205536 907444227 300769711 234694262 505717755 683175518 875120635 920400358 794165167 996297811 514422708 594320162 998068513 172571788 763653498 842689017 632138657 314823288 700666274 666613988 795094973 574701388 772704283 173411445 651221038 760119099 432671017 566943341 763518069 823436172 387176005 888754058 943656729 820966004 408077270 416170961 665400418 296528778 580934825 324904851 982481955 494329972 463141853 249298582 179463501 825489843 736749387 978021580 979649327 809731109 372944611 901935949 604975816 644924072 850306142 167539740 848346497 952090378 480119864 781042914 164017389 249824944 383659902 526415257 103152247 137975827 902219051 652180864 231830594 251354978 428003251 666944702 596425915 686303814 374065249 622701104 363181378 113606407 686634848 425625596 399337894 789347284 152841482 101909030 216632502 497670039 238582130 178760443 598395897 390781731 441026301 815952838 634183237 752422816 902498331 459708766 296192776 444567896 683590262 253292437 435815086 366939544 461916043 285414655 907666187 960630972 808229659 501997696 442405658 165680870 989329913 519760275 544570172 195533500 904110249 415672554 259286371 140427534 964738020 122583214 258824600 815157769 921426284 204233166 943944108 231113829 543545735 136544414 865405197 243358956 395600390 822514317 158144358 268280740 207767046 744339267 468144903 920041796 236245476 706689151 817739038 418871182 653947247 108094626 423758528 902180946 445055755 966678009 785049253 487047423 661413367 957957310 662600255 516666984 329059308 753310442 990021315 411126396 199702972 425083940 578059680 704079285 388325869 275441929 557099275 280295426 877690336 835261708 789909169 744514558 921598523 128551729 966042051 183587195 314926174 286565329 871099201 860459352 513197006 180231375 569128113 645798469 649820878 618893236 353506798 255237869 167269319 386533364 490896571 417410103 825552491 781257591 644519231 863262737 936815477 365983243 458702548 122471733 811400405 210529605 980527278 722105084 436445456 927311692 439791909 324142906 391468328 772791943 684987566 853225386 819944756 710184246 938422124 448662397 518077526 111357230 799990099 985664379 808954587 231299241 281949141 192934756 640748099 962553222 381177058 579044708 775649816 315090906 486880496 590254890 649979617 618634626 736117458 266132691 721653385 259998801 866189465 929468230 777017157 138978551 946427517 518184638 912509670 971159455 526682836 323842157 276004396 118149982 428183764 798039358 244824829 651524148 672816776 803989683 863349133 712210411 689470171 909895627 391634283 678329058 209523189 454383208 312894533 974728119 480217406 520397385 336299715 522840454 625140037 551498714 706480798 138787407 457796133 475512454 792624714 684170481 184559809 320849998 605162910 760123262 639961770 326664197 102618047 786922184 778964389 657379699 994603918 631168500 764837355 523775138 822403353 207878208 838100543 829077136 328345729 576556100 878146428 401601395 856116699 839051458 378628683 328215258 924755031 744170224 342324782 805372136 184965931 624394089 450684634 653545716 939643935 444074822 291707536 617646649 839548952 112263192 124411423 953773312 760447986 259883023 968045047 127542078 307926650 784523682 525950915 569473891 361060095 242777798 721618239 655719187 300482760 897274845 817302211 782498392 246258409 448979629 480862936 917698810 905897143 891603880 213568170 601164249 825820028 757714094 418224993 969209301 851110979 131285584 236070721 296734630 868746320 413520258 879888574 948666928 880627224 222676688 763690220 242094703 988383922 518108984 251965970 665117981 962265858 948334006 735166269 361845505 336175661 372805064 951316170 275460896 853224112 769909705 459100426 679271990 122861118 460196442 230435931 981434744 684381792 696795454 785257660 668956916 916288838 692013690 587167261 539029348 563806006 210848792 340270706 374607384 580403144 710814787 587870645 939851948 611552627 497830738 206058832 127509116 229282260 573169756 904945413 550548408 762119316 409082364 393289185 189264733 489606516 147618838 357143712 653557859 328695309 743361170 226597163 971939641 239098567 626526530 419632526 448466578 934218858 880995125 375619888 922463420 141910526 118432755 362104913 396066372 623590381 503346269 724598231 726411201 181817295 131890807 183673270 147760653 999182586 512211078 578491913 527307462 420004781 226455144 131938964 145732632 513777021 968630722 630193657 970024926 608159159 725562871 921214253 615052233 535626590 500241165 829371385 305840604 393728471 541205200 140299187 145013663 276657819 155072532 531880658 918641770 409236318 731221479 271668611 209918558 131086319 207312165 325608733 712875742 499340582 246577334 172093616 469712338 699213457 395119497 521363803 909118054 157214541 426812315 905575201 642851687 952585121 168842810 527645413 935569581 230123725 557026270 728691676 296593623 623444674 717105011 211860053 924559061 676067695 926315716 755569590 655847428 689265594 182658580 164717567 741886813 654423304 880072892 814690616 754545993 616878308 542188447 782161313 167757458 104485702 147567603 604075194 189169014 112028717 258033258 469124606 672961812 116054040 252350104 268834042 463495016 619146107 418588315 171679172 674796628 351141262 534090870 499751879 573046164 337360821 494443279 352437298 936197548 711338424 732134349 690135850 502334355 169641590 702203753 736476119 554080384 379744109 189274011 890303547 918618722 833376508 820426182 734358698 310791150 472124109 166492767 524008050 488042656 988159046 529511766 845459862 233679895 692761364 537889330 607754250 411855551 414153005 636234648 478994425 381986818 358832886 677336815 212167760 343833533 567560495 758258260 404640788 367407185 664956767 151892297 611420609 469039306 488651501 720452218 216277648 619503586 447771745 481453006 193335820 429239988 715844550 922384948 668398866 591118932 730301620 810467137 315299953 676647576 876668582 628787225 856181630 222646472 758394418 887903838 235068581 317096328 779769648 542855339 565644346 399037140 858966288 209354912 336274340 915280999 986712986 458757200 685305016 952259285 978305764 813509413 447797328 317157410 656965720 897634141 645257077 803877641 593192435 982600930 833592316 119544818 456256579 829032572 331834821 423951258 775062969 144372497 506820978 824278407 297736865 774658085 695914330 815166142 647229128 394935245 505769621 882414550 588009117 278578172 705122358 886935360 381354342 951090076 316045769 320570250 348029792 798780947 113286859 491673530 868455290 916054250 343439191 462631748 914091928 854015882 387408231 527791203 636734047 142625364 837210421 142000419 701148473 376462623 547731805 688327652 224233143 803768748 588772058 100179794 734552587 921163601 610979372 455505726 642242423 477014888 658408536 554051862 119278854 561100899 314928286 204059331 417723478 337304917 796286035 733936637 963925024 755384128 439354180 682417350 587478675 883975868 497900226 176252813 675798619 164652068 806664352 381036629 907050303 851057780 676569109 327085574 853405235 907335239 471201566 559677769 311543137 381927891 593789977 529787240 830194629 217086072 381693020 956058205 671153047 403200446 608789243 752036212 583016891 121190987 627735819 360917735 119305499 865101273 850200201 328566641 833354496 660934572 114549227 985017711 538726472 413850826 911332159 761043829 851075352 504553150 640686254 661966753 911788603 939244352 443825518 893659808 187347631 172644923 256084572 141963758 356088344 547405857 243269503 817846256 160079720 824495211 770311674 660917484 189802897 979817488 835802492 457852439 778469673 136153500 319139131 665313700 309621357 716312248 629801663 240584164 543268906 285592229 350705120 774589558 548639577 136058911 687702489 771306096 831853054 122280914 162662247 542258896 305344853 787944777 659645784 438761693 987982558 629372527 546941395 155906058 769448101 535378145 415064551 878069341 401008083 631265172 178157086 247185810 831328268 141233189 612229453 871034958 886139827 659552526 527897492 265188321 856655362 834097610 772188346 895240174 916886196 767078552 934267879 998257239 490880016 386844025 321877948 784392507 337681108 503459329 784215964 252297998 323571448 588275806 590695749 487390525 149015802 468575104 798051061 834609720 805309290 104132843 305583655 794294499 955265248 338322997 941433544 428724687 293463973 834375095 918779431 186209350 459083657 837669232 960958091 516366942 951857498 338270110 922359517 191398715 211764827 637959642 232552532 806356940 720506909 546268643 225460608 364769266 396884551 573541472 213611541 307690123 161514028 341884004 341469012 163105609 374994430 135394732 844892926 144400887 132827277 677682080 744620348 898548084 610299832 796392922 243018588 136873686 290711372 673917083 237207470 168727651 779228118 228368534 121731447 278878664 546130271 432099706 310855029 123541687 765618701 285185630 944578800 736850313 670829262 461955569 133719364 967012306 900877328 527641390 288548407 539345310 551023933 981701328 278892408 118533164 238001796 994667242 910004950 978915057 139992151 178684261 671988408 547815374 438356604 516610771 190319035 843152772 779435729 414140465 846027751 121888381 942151596 985305965 991184315 473312659 697692739 729558186 226963122 322935106 231914532 542963945 213150981 894757595 646280629 180653709 624443568 493913264 299780312 725548293 531915850 252279715 108408658 381692197 907669164 839076252 437126437 975594378 742407171 840094622 469467424 571312635 639407341 119568517 348459738 483275980 229440314 148916300 194268733 920716908 223308926 999548298 253926726 145710136 807203113 394944972 462008004 399644004 569969889 101618976 467936035 290438922 156086491 676015687 719379170 599878452 471955397 999480697 596931966 652928685 822303016 730775150 775317673 459409568 417891973 450021143 101589680 485968713 571102845 651848902 814324701 319509692 320396816 750494602 348673276 594372879 744935158 744635843 870930867 775279188 129513795 666401225 779553204 594288902 191574278 206153377 181510588 378237591 232914276 856470809 662078231 517117582 757373022 408913453 301871623 366678898 126098735 826700153 454055854 243396214 856583621 689710854 960488434 511473784 566800242 328724454 492232085 586021803 229960384 568415259 857613555 457932289 661579601 919301610 977009698 989794681 982528385 293849296 783335114 900089357 224569798 196494668 841361272 977593915 767235391 432450052 787477543 688307994 271231252 872913066 499610725 249279106 678858409 294240723 901256066 217974530 954710789 142917985 216069290 343848516 830219531 624585188 727825752 569213661 569949481 807328461 173875088 326479452 670443742 615387267 945559937 365678968 811055452 426151794 979592822 743732673 215090106 681782745 659195566 380427205 713842975 775074389 727637696 467658301 644281276 673210975 391129462 817629321 525739345 714463663 644577712 886734259 599504143 811534065 488690168 993720529 718492534 395741672 478044381 854182354 585383256 675688587 985635092 544707819 838575637 945180419 605415879 221623208 203392661 687509711 202515849 243934504 469589122 837358541 912997402 349765239 153377282 613152565 274382833 799981512 196551591 307192196 202266665 833095846 356215610 114170988 442600830 757464818 187412600 590548681 293690749 963275671 455150188 529827215 112166179 302229008 236411308 245209589 926889877 502929272 120500779 385910861 347252467 423066879 970619442 908587110 629710049 209103960 241176501 183201770 611058551 148940881 361914649 320731832 492010965 382896427 577724116 657967336 744862241 451819805 311319512 663198331 491218179 481918761 499542227 277200742 610438777 235631017 263399798 204878128 499786492 107027664 385948993 704428415 132256286 406224456 918859798 837984853 961758279 242528328 912263440 323929216 459023543 300764041 814196800 261706494 596382303 130354287 281505344 579451437 281306987 234733808 724208939 253771748 288733971 902280216 924874639 123756143 521006805 816080254 215175722 382728301 711208038 584140682 716123140 841208724 556429300 787411576 246202376 744428953 384195561 101493952 570219917 867387896 903473291 918532533 313041898 228228210 263308645 892073710 203575587 977872503 428689414 308656225 687917107 263479091 549919447 443765369 391069946 965269608 280926129 484794177 545459824 340242838 141648008 311830985 743168836 999430044 930994404 169339104 463580289 368275383 841375128 959255515 989904298 751177798 226168285 777297632 199808958 191133241 443460300 405481371 273770020 994657659 698177339 537575583 660640172 939997791 463923057 583068610 175535930 338780635 291551280 557254025 639927656 475449164 161429401 110477648 922507027 539679958 698312628 158991406 826916713 449471026 115337923 275506588 149648882 502816077 618637345 176541926 343662411 389742486 706454965 876262321 105168434 346048093 865100584 684235013 818876335 985893147 101345398 563521003 380212208 267090101 902408409 324959537 321674066 809901731 461743289 370793017 205245536 846857089 724962966 531946889 570751978 551938294 309002186 882981570 306194169 963140867 949512714 197406062 450153249 978971713 842665429 303960770 155278969 943266661 524508952 906313233 391442483 919896097 194581217 272437820 819087252 613647667 453002735 690187341 437048650 966477561 596830407 806528562 501503299 533324500 954586007 763245988 683055563 101353526 457989048 100144394 765668017 676440388 901793853 482576382 571254611 894069987 855364151 962366835 559278322 244558630 811958417 704431675 249972865 996591786 881361327 408203647 598502030 310050358 612500191 454603769 304136429 632298105 469276457 499368053 278811174 161243262 483111122 331247151 766017573 109504176 862659298 986391652 494574588 929780614 365695479 993162268 211287893 917134503 641197562 700680020 920764986 292735603 785058363 852461362 356177136 644058312 529662752 865030307 982535345 691902214 845972184 972297347 419173027 745863969 534963888 388164428 291310291 303840167 881431283 152701812 547669092 126815930 756878173 598932619 863232287 185396899 285250552 379244602 245022901 287592284 585085163 158021855 113877993 547911158 678006830 883136676 758474800 765281204 791388124 582189321 762892650 296466004 619574508 715783601 475932161 708823955 800433459 950586456 340923046 689872981 327990888 578545803 409346059 794251124 420370177 195664436 779271220 699065089 303863075 483671503 829085567 242725749 635212228 730473482 795006720 697503536 366415624 503990344 826909645 953383131 768640562 908566940 902581165 501654236 416016125 845814558 227949507 465699398 815392925 831891035 368191138 342389639 153492775 198706015 329883552 497737223 992750823 306424032 110114576 274203369 663239018 724251594 889036114 592476552 925093294 306544853 328970097 465287642 478452534 795787146 313729502 184874323 209765080 255826248 875530385 307757018 284306231 282388827 448620757 440090523 591411992 922362876 191791207 367384807 573136655 278979209 101013398 115059958 914176337 657895492 827744065 160085107 784616978 399827931 797027723 860796875 297412049 805119134 753431188 933464001 972486374 674202164 497540377 102685186 691447832 619946009 361043166 613662871 520343469 660566038 921343540 354734500 179682275 121665162 406683770 320477145 850353880 559226576 383624730 280706631 238272335 250720420 614880602 341995393 348671331 994602962 282568338 436015963 479166432 972938420 589152551 334234947 999382018 176986515 517996425 422236649 670566197 709147159 259078426 851291375 141477136 979067897 583314792 333962748 899051440 614377876 495710794 697467221 754558830 576356979 304133819 535136927 391711815 114252160 177175823 878979314 307764870 123747880 340026177 388507771 551251789 648914243 653258004 904447519 468877462 245427040 497822396 185002756 273698422 476322805 734203588 830791995 741107138 435512899 871481373 776086926 378105302 827835846 925843280 385190413 211364947 345422536 503433739 752019572 961630873 707250307 533945239 624643639 723212602 611738327 547877575 116850513 600720619 817045147 237767209 719808997 238244968 265391929 857722185 106843543 608263152 727560116 947976249 774627328 393513496 153683991 881086159 800047544 175414752 372266559 728380023 745418106 727385351 251203053 942127056 855682888 455932937 134750938 326053269 297379539 993081405 998805138 109163256 257330249 401633708 623808790 667747547 818507823 233723142 709631808 641155782 184649232 239585961 430133002 778935653 859640584 471980162 662954598 473635179 745341186 496104907 225792615 154861461 121940731 114459598 833984916 695595591 956936960 371676721 342104409 564383884 556695619 390556893 713511091 971185072 564979998 921199771 588063338 327897598 964522330 367096132 928049383 783881392 818307003 934612823 985445655 632376344 198810886 315264217 793835502 409454442 896160605 106243597 245952664 582880885 324496400 657470492 679942961 178260885 877835090 312463750 699271643 754447780 358270450 321213092 765206615 482163466 471930513 293216193 554117424 498289994 845629214 438474785 603995587 420502909 296864949 617742739 766772579 134826689 799621447 735304863 825525733 675438505 248748004 514907795 455053265 856074423 843541681 852565901 107745097 504151231 691004153 784644894 203447438 621546206 425602297 505193781 518507883 328410019 729290789 643236443 174467138 561550291 674318920 387800024 273909757 206716805 227809761 108960121 518612863 876019643 936098844 934369109 662908015 869558407 927847401 102943992 504017765 922506188 550902369 753642171 948419866 441008993 900636196 130631739 457498335 995842708 487685329 703083360 917250822 921253233 105034273 289928868 370653222 837774101 436203255 552257566 142627872 743712247 922404949 618925511 519244359 205649456 228137754 388422948 151525711 614615178 153985846 559291362 625917886 303751457 859112413 373712969 162606201 997922535 761615896 587496478 284230723 136423886 533183537 793459745 596099533 726002381 262732356 340774094 504730079 695635606 711887332 768557284 604125795 829511168 251057281 329370481 974219513 806741254 756179593 394123898 106906208 545502288 411500066 387233611 716921578 139417586 704588876 538803086 279333606 333789765 176812847 980747848 668397198 681446956 265582758 428934061 165341692 382245522 258991687 967434554 109100984 127216956 633441751 762921853 915740118 808504503 234037133 524520387 789810689 919572138 638159554 888945654 532292382 391560345 717020237 271367292 140600586 638474039 249610214 296251349 756288092 405414632 685985339 674444985 138390721 305096403 563500367 422665886 608601407 482037382 706363301 247571977 329370248 429269936 251264151 422344143 429802549 531333148 819630771 646774613 545172607 102597663 249666855 684275071 113363760 640155903 870397644 324941050 276304373 319466827 481038252 168631857 960854871 515406607 819634985 807136403 407901584 404639390 166105606 315670915 833131886 918492250 553304132 142594622 873106694 920684714 953421072 237280634 441871490 424627089 419151505 928855557 202219187 878881462 774902511 657995589 362433582 626446550 889860862 522321202 668035826 107968645 363072447 645379375 212531666 211529486 783703527 630805358 881195722 147666400 954385847 410531945 568631364 843813592 732714246 510381569 383340962 898139072 376978146 825236739 191721272 853164552 167239337 937522104 401846465 631147607 636932423 206988812 813519361 964385779 197822973 992451092 121672363 695821079 162238472 949907334 885304786 804754025 349005825 178207636 201006934 651736246 411331307 784926137 536563540 887241813 812904652 977171514 924935644 479179592 456058332 982799412 712776295 511321358 741325096 711477551 285776208 674100021 150169680 335411460 333966008 897329474 370032808 812158064 391448294 918005007 880460536 519965255 687669079 189463801 325135006 419193242 171291022 212688435 521852253 942335483 357935851 289876541 368543572 241047375 552600977 400510241 235926614 214981410 116422747 548421724 124307760 445793641 899390935 213519643 908365133 535913303 540849792 363166677 235277726 126777216 961252072 968866629 207968027 108882644 456839956 834442953 590982851 233525779 948832990 484637583 558476664 971694167 845405774 940422172 529346058 334485908 165965659 518434198 165140051 796216254 584458932 390034470 433258292 748469424 850430510 392971401 485238075 501176294 896300772 499182805 528841335 491507267 536967083 196840508 185361529 900805972 963210652 235655977 504223303 718356956 502532186 929619173 164644775 482274683 195611568 139857003 444784988 942591031 803482327 696251306 858579166 782603510 399527087 733853798 261239894 523231274 621443688 555179569 512274478 520580031 613491939 576168432 354976463 980766331 507189177 803199794 552312481 611538301 151061183 349021658 161025537 718406615 352205253 473146653 982292434 515940470 582803109 853479465 247152584 442758082 798700923 582667694 375979759 511685522 514301527 608602142 983126484 121507934 899114180 858189087 142604187 382501201 858895727 504485068 212444815 835406217 592551272 557358984 768918628 384049705 684524465 836258807 943044619 197759379 526768201 274813760 924254495 350732706 881019477 901888491 679041592 793437143 972971617 984444511 288417620 717447213 480019109 442369727 602383605 422476016 892471141 135538365 672613634 635301183 712906704 677036806 859744461 153040442 716156893 450257710 511698915 776496960 291327129 530234117 413189257 980935830 454192163 947796934 949897083 285958556 280228309 799887841 623456032 361830505 115778650 339325946 204988727 854053797 109432103 928927806 420554876 714881894 226537384 855059952 220095432 252018849 661306440 802877322 816589012 574417135 746669516 104980201 670888457 123231226 999515947 576124601 970022858 131623216 408794330 597260527 364308537 620165530 618918213 789729001 757281649 793251396 768957238 764350141 484937737 843801356 436737470 170455780 961534383 612388229 546267463 125173443 720348149 233997525 761268307 959520705 507801723 589670888 388150713 917795449 467389995 857320478 131974620 304929503 238847968 891845279 375303929 958886998 963663369 168426827 389823295 672228277 439134135 703143596 777081056 511301404 266339036 105959314 847578961 414384427 641779353 414439304 789616165 305637257 614363882 322873017 850674984 253613362 464445267 961825993 297160217 746644988 989227470 208786993 355870660 566468676 872604270 323086308 127075645 511292850 570091055 470960845 559695641 689233713 116709487 693735390 224483412 361141223 610000872 684518125 242906039 632177701 289200447 667727643 791825989 163442391 584840301 856905343 293166702 167862743 843655354 784300594 421818094 815751547 423944997 285244096 169107603 419195181 861980785 816367788 299117950 844028841 430919897 486732879 319597988 772594830 460375495 103419831 383267058 253094380 939736349 647561724 378969342 777132516 450604246 928261914 527949987 529307475 948297873 367042906 646748188 369381303 283273571 911720821 215074653 223511427 154826216 813571293 889684155 507384974 298707229 853575348 229076709 127356571 711660127 837752482 525255937 385542150 420122947 806409208 874385823 890347937 792502827 625906358 154486406 932138577 542681148 149521611 403144187 604348504 175168040 485681661 771329754 243418456 746495152 178266342 813630030 814906051 310292745 711588659 745976567 754402826 669742370 617463338 749291281 854259418 910417944 181341770 644596102 740634958 308004316 981043585 459845746 256317418 988142938 805062651 587068651 348073559 419590451 270891067 362616491 470830617 462882691 293782604 437945310 126141855 980331961 197562010 841542939 443274233 689593542 119317165 984748707 141848227 221391095 743742105 328504359 919558318 896899239 749427510 715950967 575643551 514374397 391592626 926195736 830061816 493042714 556186690 984086424 187732789 108822699 979924349 200570036 946133068 766476641 365308794 302167566 287970199 732818523 453759532 122899317 185363087 349433181 157456295 304827462 447810919 836393802 601235703 793388091 916179423 249808475 216126115 461471145 215688311 849241598 484581690 832636883 484320291 901140584 419079747 118746578 873464113 540002987 464625093 949949203 970992478 604627863 303174359 366130298 831851782 424195460 548823830 410557194 261636069 507529524 813277929 735642789 706989028 725207855 517181610 182320182 136678913 797753771 499429084 870942668 514619232 359711138 827854804 483621974 545495325 320094020 808702057 994722256 623409845 115256033 667225387 208858779 746468322 764270719 973544037 257702495 418859818 802897284 962592741 875608011 776514858 528138929 108443145 503100211 483447322 575178923 788033590 364909169 408391913 380983593 416821228 901204182 983029095 773614532 641026656 631221537 922711404 271216807 286205753 169902521 561534996 619780020 268285860 608976583 419054835 987231577 217344877 966144529 317623809 322971105 624401189 415164930 305736630 954607619 490278223 880579654 372997868 977078822 428821875 538033047 911158499 823036481 882282795 280543967 124250881 346045970 924130754 878745330 758082146 981504131 845667220 147011419 554972280 891862252 138096889 871442639 695514814 386110015 306697464 751129147 935783303 730610072 324016360 300359929 730360674 487962821 903897912 662971996 760034436 130883832 499780399 810861805 176794758 773826806 314612468 154237242 641037564 847559948 398109395 178425077 652315671 902974439 632792088 259374131 526428034 282677022 551800667 141145906 607134448 871248180 756078219 887359994 108478366 410649597 480884194 803913547 782339471 954765154 467557578 518027300 535837008 814951905 749948033 265694535 993721527 719976771 983653514 686565493 861045207 506024340 278029978 249407858 299856169 643753647 682800397 914617629 622172366 848710302 561748961 188733565 221802608 339447582 741044485 882455466 437213742 150969112 805463695 536863993 776945911 891835546 156044459 275938391 174810781 747986488 404637206 398314329 305986550 583433517 914409796 699841170 440857727 757687711 628323697 913422314 559434251 666559931 716246244 542453359 235613556 705421827 704837963 960067927 964451208 761779862 185059015 361102668 571038418 101331905 909560828 212191588 149758867 316485303 464761833 337251432 601538380 220230261 779941973 796678026 168669205 575194141 567298325 167841500 943797941 591310577 409258907 762794349 446945989 667083161 259526620 538028499 999348686 450691765 129122777 107606243 746233451 909533394 607685072 786870909 786020855 365050754 626952265 411017893 376746793 105384592 437311580 231050699 738025158 355079565 492338308 466998707 282957348 617506959 736506329 859139663 343503424 796855035 389917316 614243326 340927462 677053512 251869550 726708124 906083012 823066620 180295200 127890845 939597767 758324731 832267986 645916768 582352409 989127088 286112635 608246666 661275611 364066281 842398288 135689089 718423469 567719863 549508529 772800525 967099046 794941496 604631372 227407244 487465163 755458789 447748945 949079198 309936522 931452407 291078531 811732933 431603082 428758708 355739942 819716516 699678835 127563952 846196523 904098610 696773325 927998562 716565871 201156347 835541381 886389815 505241965 144283790 553654300 436877650 290586743 739345830 722025087 632775268 871683566 481111523 471133398 908981844 104855127 108086096 422611152 380820830 899810104 408733110 593302754 689377752 818930468 159504603 435164526 879183994 534950540 448419130 658211932 222886562 645950274 891603375 816933036 573645909 978723206 277759065 901662880 571619979 624278491 939608394 693814681 118970589 162053624 621113152 912624751 103860431 163974993 977363243 258850042 644574698 607749818 346512283 542233825 992990835 493818951 737061382 710659170 941558979 817925053 375161848 747505868 738379395 137015011 524752143 711465906 532802204 979002885 515040896 645137585 510924929 146974511 651405311 759897698 516310418 737968063 592887627 584288211 961856259 967177498 555389970 602395141 918629860 964808199 513206189 777341245 897662682 728456134 492968680 763293756 351671193 566554032 876700089 833215214 473976885 210674447 747217842 331362685 788197558 671039212 283214414 220678161 902170574 296417405 562298500 548781523 105708551 502250265 824948705 466455705 702953875 832296793 377226943 762803880 483351036 417438270 679475658 146852932 501920218 830468673 124073923 941143896 811603357 222758151 726080672 854650526 416497928 847326786 417080061 350814888 924078505 258087328 918740530 436848356 730175467 650787630 794628992 270544100 626962333 720638540 446943968 568116938 590120655 243023065 274969077 572437688 633308506 912968674 713365963 440105962 282319249 922891775 674760674 198506629 812431489 598040824 659249068 983675241 434248773 656826796 170611147 887885967 963620126 651292509 488258496 886721483 681692544 518048016 857713657 632631142 700030660 319165082 902088979 111691939 553406720 670966024 176334330 887378171 339860602 253412667 199946996 991115081 936090452 497499189 648297096 455651773 885756533 167498631 810409073 904180901 577102635 759601565 803573460 904464080 814217021 833676813 645496073 786036459 526777558 442816986 316594485 937398405 128180037 568867386 999765572 777766382 501754152 692910121 622953588 280208635 124724880 563746555 736391184 179837563 266754950 406313694 203865438 538290049 158142879 879808507 620514575 815398412 565984670 160552866 175177534 543220231 675220529 965687480 565268856 263611689 181004781 147941519 276110446 275876707 807994616 170347269 876803194 642568898 926517192 703915694 582478188 102148508 113221433 858161795 216412128 241500682 258867920 775401651 582282400 934193077 177890706 425625729 236297196 146252826 627454313 397598971 787001656 743063428 376196148 365905725 532210701 953857318 690665591 108895928 464717469 370957985 627516968 971056222 694268508 126536553 452430053 830744039 941634210 937851373 517560074 491244442 833828554 162008125 724575049 776180597 970454668 847410227 636146902 549948789 294697589 884287040 312660273 577970378 366092958 966005974 282005723 629791907 717312930 717357935 955825572 134890254 489090271 478570697 486296111 266155114 356484217 499317714 136920135 308903862 107161510 776878573 548619420 289724539 218532596 341246844 951191749 274514823 164329096 592495263 309501766 269641910 799761389 492294766 885425938 954669681 612865013 861842646 936823811 618082051 206289673 253166263 805108282 351755073 833067906 844860941 371496088 689433450 758217809 632921337 318698160 683256420 368222869 167671531 367413809 358011776 777283558 613208139 329530138 614842901 979468355 415772424 330800278 146363971 905967441 268643044 434170805 433297279 895367417 406283957 991728391 280637782 769881810 144998299 482697668 137683455 325873818 698782345 998801060 803654757 933547232 902036533 304251446 797881904 166321047 501845282 220556031 985408072 173113840 222912724 621259692 371928279 186836705 956989128 635568949 153691884 507467366 412752400 553860112 505871896 274774357 552815412 492908533 322711174 573194546 980837901 223848066 375570117 263470414 756572412 807174822 872170734 315016424 856685946 575822970 655974021 296866538 135210021 840948257 544709178 801755929 134088713 359692999 938539624 563332550 605461614 918455193 174387331 800933557 919168414 129209916 668924260 559741922 313470113 573577264 994668777 644898281 198782524 677564473 487173986 591151015 469397429 822651249 516692707 156611203 560052472 707275180 330286106 427143517 639490705 952599631 143231735 180709479 302266534 334245379 771719817 370590393 793547924 530906486 637772785 683661592 891090780 593751374 327847610 623311153 362639121 469343626 837399399 974499927 888795182 365113052 285008466 167156942 939850456 380912378 890008840 160717696 731662618 787616068 733817350 747899910 746233948 435262513 460573477 618357399 166533064 664056255 916520980 323366031 323700349 876668855 337855310 764090303 218897855 503796127 792482852 185183412 726384960 489545813 687862501 814117705 975779975 919700902 565892932 536683956 766464886 634615991 845821859 411889878 472869609 155890749 577930974 432400736 316003432 456791299 465514395 777797330 691604569 758388287 766268530 721742089 293337228 318428375 265320479 952216453 928599906 602084396 487327499 860066879 516420788 885328005 580304663 419190107 849628950 693035452 574809762 797123357 884272911 892174893 132799654 469404770 111139820 654078071 409014059 980984613 221345923 245565884 634749171 972745291 358477764 470566807 987022439 259148136 931933380 920981732 364814774 176250574 704931797 218914764 716475689 198066221 206703466 527630228 452633698 323463143 751750957 307070492 118237279 228630779 470537310 719226058 763210459 783930999 225984770 339949986 783595205 455402455 219916315 863461559 572166031 514268188 394813329 566443519 586803643 748707792 780624943 465188616 895556366 308709507 456106929 579983584 439324390 199280034 420494334 362023798 808476521 700279020 702840302 852778359 478405926 628345318 627572436 916291171 331410741 688881434 885837161 426394571 681320708 415963583 251815538 578721362 608174574 342365308 695855273 510533030 729917820 398684899 653260812 343946540 261552611 723782793 355461372 300104366 758398775 102284034 699165049 330892489 599492785 211574118 847143093 346956092 737422851 699870921 910984525 836446964 558043085 178022641 610037560 736116460 942565077 860458238 202201297 862188160 830629428 593657386 823792471 778667871 631417407 346241029 738515987 581902191 454735022 387747366 748847149 157020781 248938321 215406013 273434000 676361498 446345355 215287785 768957914 712768150 921097601 300315452 128317038 620346408 125999894 207619166 739459502 974708913 708472110 501736910 863746421 747357068 882201865 661961793 176726930 930139962 809032019 312301923 281899564 310469674 244089372 238842459 454113343 104054329 516077039 322585353 971231269 202767719 508670337 255070863 556306771 404355466 681879817 233602240 404897620 739878318 361052783 926747760 788358694 250851537 188035422 807359092 602380946 387072089 314565636 521889788 393893759 805706400 163635406 992675649 441648502 886438803 526577884 351695030 597116248 194693320 483342179 198446782 346772006 443157189 135418068 805301133 258523163 378138468 373706906 977028901 850008996 190172352 204569776 391884763 615070171 432660207 617167305 673242959 313892033 846529316 836544566 292076729 638148163 477976076 246722893 346668096 487135777 831692325 826684159 598166900 887516828 604579727 225873475 775378128 188770790 872908173 723654678 271206659 330141596 623185078 400538502 168720448 638183449 976274810 141916248 257684899 648245073 856339462 707128307 129287720 421486323 994099447 246964995 409555301 632207393 143180193 112161984 538178826 365178974 884388146 846985963 784338439 645551170 925453019 708046380 749264880 209181288 411906457 941361841 900231659 104786330 258502997 557355581 711302774 383438294 692710528 366209773 266333050 635416110 237165994 768716535 738536251 152171286 459828270 967732683 203500037 847373014 363871147 522451570 269683008 491038050 637097164 953328265 190399150 641396432 447601580 307451612 140809005 250307535 597081050 145904608 277853380 208415758 780883524 776039900 733842811 224599490 680411318 583835712 385241449 466202484 507134741 458419045 495486530 835420643 774308080 372001937 192386411 454045248 526567151 769827389 984168654 995795643 431001680 827773701 625007674 865334314 804582527 797086548 807022458 197504584 621010987 130514811 609477947 199883547 597772190 707083671 531477205 564934883 130992514 785989291 701084766 790607043 764823635 497119544 686095676 629578030 684161962 406361377 440359038 915550015 837532724 708133669 171577334 496021444 770072251 561463353 123019336 160881735 977006514 782853490 608404420 362705638 793193059 728763830 995777001 595827823 159665059 401523688 501085871 797013263 502594015 528578751 451262024 824368554 837754345 756583507 388369583 516692269 943619990 695042083 503237950 809936917 650576461 121600655 551813140 694234114 433817535 733179648 885474265 595780034 197722112 656757370 694445545 375789299 989539760 178521803 962156120 575177629 940274593 893377239 247171600 833097912 688578472 437139653 670636471 187838592 294650379 202603184 716919417 605237388 164129402 633010161 602639953 769549554 977203412 740792399 605144378 792380133 461192841 416579019 457920339 360622914 139676772 515753088 925438764 352559686 156286363 405473842 699311388 273020131 653002089 719182867 238013857 731108732 243787146 753365801 763708048 726082535 278050476 980657006 102217865 908270371 940433526 457600966 152679793 448943612 175631086 822652255 680824967 533006274 932427488 193158056 840232479 294479210 449019259 983544395 965017086 881529870 778417158 299899171 375975675 124265684 845475449 500885181 967833393 560316809 621040996 577253359 355659734 573269396 119598557 149814883 974691073 154315241 323766104 677289520 521648412 908271658 645816269 645117282 427523573 110737610 359867415 221225340 705169840 729640939 345026880 567037882 801138681 163185633 644513400 280782742 318256974 402083177 906682430 169959437 518328155 569945893 598222260 576025127 297004466 480183213 965246725 471052646 801712363 141083502 897253737 729329670 287807294 548627289 430492667 802710763 758452491 905385415 531397614 618599278 924118949 795535832 160895657 512644592 276608155 867675722 193047868 703616354 816149408 295314162 169295636 572804862 358444547 606396609 688786271 470465975 520489915 611563646 142595816 564840989 441847329 170418692 367240191 794252109 460356164 746582740 820335208 206117248 517950952 837993313 608318290 549333097 820153626 434858530 287858866 418165860 645362656 582661124 797336225 413242285 593210425 629432390 912122467 152229878 230350645 368274339 538197899 976421051 671357839 187136107 890682216 839372173 811317571 651617681 788711151 446093139 209238068 201976139 704122206 186737428 461263248 898086755 748187568 994867357 932559891 158159607 601704808 988269200 555697918 363971761 359979947 752856977 370853908 393558793 470217327 333440835 939868273 600029280 436821049 178688111 656838467 458472121 294744472 843465666 844481053 143309292 667509674 627734091 567178791 174727300 196785018 421498781 779657810 261735683 416692720 960159546 769070164 729431108 629681208 192593743 584045850 217581658 601647846 364526728 963118853 283175875 402030557 285046995 756441281 961256723 705463960 184958836 810912586 517822347 521491713 292139818 190464661 254497416 165558048 801955814 288485630 853581543 958270892 267157801 186063754 416902652 427869183 379616665 880104187 919493010 217346714 464941111 829091721 457676034 578027512 415190862 688357199 185633839 662712295 614288949 602741897 845949548 552460015 755519844 405822438 751714762 149940620 177631820 681431788 999259553 518620264 529056281 165081874 317362792 831209143 767734340 219987085 530729513 537420343 913231467 187741032 237698869 913327942 510981706 519562482 516068203 868157944 871664476 152357697 402706706 704212171 758311927 664355020 807607197 280546428 159472201 834686456 812934698 404405651 190286065 990433116 660083793 362004108 937309687 718256350 622268848 150434822 547349591 370000210 279890803 356193624 805219801 382845389 569121094 887323783 268009643 337813968 601092388 211583887 202581129 342136479 727235586 322970737 519306475 101139420 722679476 933852217 480848281 908638267 148233252 997679623 814126579 838079139 799650674 330947317 748256113 210014586 271288536 594649953 499009505 426330200 836109922 533362788 189773389 205192376 373959989 499736892 238161980 114799287 853140733 416093068 327029499 942433146 177230116 348850675 641033041 894796028 456762919 442760355 860082550 251884527 474137477 464472824 574810287 886822473 580355671 552570609 442477316 636030922 320147915 860368835 613120630 192834006 424053735 245566208 314917098 727397059 587598709 254557557 608216756 172683791 777566839 187836969 547894874 646977142 710539833 420646795 358334547 729683474 606711207 415463895 241215820 899946995 174013634 146057835 304653795 659973979 592292253 408657191 462854203 916419943 162928624 814206021 896918661 343139521 300613486 975782698 328058816 157924620 550280617 173301658 584436240 263206483 745589219 467784413 744687117 847819466 555502294 798700891 931398450 310539522 676547539 697998306 674207434 195546087 292905167 525986824 579695512 294997173 549611679 566010733 571003429 628645485 241943728 549445308 856065893 462467649 328723258 768343881 203300053 567659229 854736810 998194198 566998528 586655973 167107104 438956995 548767852 610544347 618204058 253231666 337155005 334334274 928437915 268452619 206330828 863957606 884196804 243452718 460661946 291894876 106439782 311272186 441195692 468023763 400782128 837601480 890817584 249040316 412449562 117149213 898368947 743313354 260415948 717359555 577430406 273248063 650516502 771423550 199325450 299655640 508445494 871467998 891849894 311122937 645883066 279902794 258496449 655016389 144786251 453820651 417309395 192116058 277297248 306136519 463011930 488419594 257331432 513982989 645422302 705226051 355639624 784623662 476072432 596897656 983374301 155185091 740072501 949773780 514307772 712858071 702301530 502635700 318008075 985935753 352579954 797538725 250942674 584990661 910888375 457631650 144649334 305934443 395280018 846347095 950261882 561704986 977424638 959618178 953413675 331631383 469086761 936947144 595154237 159287582 813180353 628469492 302718349 361833549 787380458 454726010 599963287 771140823 584087746 103003826 279569952 199820520 697603299 567246475 146847574 509779773 955226750 696047357 785695323 583243448 116482530 867429335 218656858 289772211 306995291 640972092 538976662 516238845 370004614 693295580 349001735 793742170 135074400 503827158 736976101 441213296 870483279 661509889 433954159 737867028 495020440 363664586 628573069 632630764 208847274 315342367 281765536 252721919 979578690 419920253 104167681 880382798 721510979 260920552 921377387 592348643 806327568 836118047 861265142 289442474 976249228 496962180 447669491 647867436 716844997 375749538 569091136 609468751 120293190 468378462 618506211 449614586 752984582 560430820 979714043 822774681 342978880 961004647 394544820 532623196 164534682 309919431 355488668 819064649 161063078 328411660 397364819 566406080 576340905 135502408 356045700 814125302 532541317 468305516 224044084 526835102 963683503 192335494 250711976 500541603 837107418 473172718 108766891 974222949 821672813 563470597 571712300 654195585 623152431 674778684 969517607 889888709 148892230 422061076 762026512 714565577 129119294 193881168 508180165 344974393 253882330 396011589 419678953 717261676 991310545 972880023 107612479 417317639 419389497 486844707 849317823 767201098 747887902 354017559 140379596 967853856 903512899 584348970 837565690 133336339 422146234 786609818 222577277 777128000 865467182 497138191 389354504 139389377 538437330 735207313 281587058 569689949 189945338 715218353 465841719 987546222 328867757 803242396 984912175 988648179 651346799 417435869 328824279 610665731 683043147 329689937 915136609 251931024 746543637 386944941 353625094 421256335 910295778 225948345 713719328 399558356 195509399 891159776 197570981 231119196 314572606 112523357 273660703 446641057 581921065 538930262 821659688 594032236 987619395 382665228 788250780 523270616 483091224 714368180 348660195 670841885 976347281 136385185 509248314 204703618 897008582 947313150 387341527 284983485 226564141 388694967 772277253 283101716 901759571 157616155 598530645 502998723 662509889 141992241 149600657 298758129 886319901 931228999 517380361 718163886 564321665 796965719 633747136 600046877 401041461 892198310 885460782 496933429 587465177 897047507 987191539 897098538 790407590 284704246 762264590 283887936 711449114 547037469 957135519 390826989 331013268 917875054 643596069 729375301 874579334 825641787 213265843 876292688 994837136 755930053 801433996 764350043 758153389 936202782 641771674 474307872 200540936 609424988 275160641 821479161 862712917 887344652 678679447 335059864 312576570 605979047 998002350 666400503 479156673 613364310 145533928 631658035 409471621 956544199 626235451 602301725 724252514 210490107 724042011 807306162 141216146 577743514 502664815 636941447 768586703 315614620 454884133 606527202 699999082 561658212 194397785 103798009 993637589 564188352 971553322 531455846 917105134 421081896 591520478 286233223 575322243 358964162 616542781 297395712 300836720 734606242 826757940 961270163 707386061 924139759 682185444 237940886 508336017 929738699 919402676 816301823 736947292 989874099 129180728 313278930 847020929 445193469 147551639 183069920 620040277 432534730 799920944 227461775 136017197 618099962 819118650 669250950 910823866 809715141 338664679 866043748 592699941 398300099 974954489 195080895 919717011 950203832 898018358 979078750 645589027 399756213 764218473 914451647 389230070 209981502 530898483 918796634 374012606 554764761 435703957 394339324 476112760 208407452 591027761 257156074 453795614 752370492 490565288 792838924 975688982 783435280 840589245 184851392 153811622 868195389 135543737 181292249 621790090 709266543 853212127 484595666 279000142 800627101 265815743 957751366 524478320 544553482 242134285 536576322 656638871 614168063 909273592 864135881 617520972 967468667 345984873 889383412 162630918 868037056 868549776 672977252 485350697 667719122 613444158 236930437 974825614 736107001 689463814 308669076 461774872 320691096 154158323 386752248 867386269 737933971 492452676 584807683 395305510 966185826 421771362 334831059 535302714 610168522 750872981 510276754 397011721 222790882 959098976 204793885 489150733 904632605 168183636 909859433 497209593 505337088 975414104 727329722 119333682 644830351 735519401 130905077 326819461 197198505 199010891 518639593 716405381 516706289 776719063 361254386 684208165 987014801 376695620 322400355 407728783 386969737 399226559 692120921 588741640 534269304 212595406 684203079 711685032 107367736 149665178 429223555 669333095 332913461 534833201 386083670 828932212 311843503 369018510 801514385 377135625 179134226 568663827 498793977 149741850 552574525 381597669 133943651 275546789 519190157 823924670 158772933 412836342 709590979 616202890 611097681 768190372 483262359 172264440 147647762 996711565 468216488 468179834 341589049 449476052 173359317 264043645 298899574 721928667 267533581 267872540 856647077 955089962 572063160 914749906 961053029 948014338 452476175 412044412 310049011 603995545 619299322 374167774 833760854 360929344 145992860 296361181 879988732 423669588 575446798 412452651 178423805 914918565 683499827 212684899 801717876 781075335 757451535 436598362 555151106 242599605 440915407 388332017 841018401 906092262 934916193 456000485 435240787 957944603 554526265 640716004 431360065 445074621 565141089 512982648 771386506 465241447 967208044 676245937 240932486 165706202 670513247 357829309 555108317 200158690 841091545 892662851 563267456 788440268 683691787 293709253 726237660 485132750 250185847 207272180 231434858 759446646 321891666 184096866 739417229 675833541 249810765 390556441 127872504 185354760 483849131 192122628 492834592 239552153 702778838 103599745 115678382 288152228 956304953 689349975 554363659 713183793 158597150 533468444 415743342 138456422 328717065 798925665 903485018 804480059 901262394 181874036 993368570 984441459 309284197 692604036 962941007 928058262 824912118 479452915 960262552 553655564 233348995 967954627 683907595 470065556 736204600 688920454 114252018 637278898 422327812 803121870 487166569 278090340 572937450 620442676 943835457 783236182 816775201 366975979 780012876 224375944 874031027 147718625 877318957 795260883 633932834 436701919 231177750 718071989 251228207 860182955 650214798 267611001 197530848 438649063 465764991 354490705 211532148 125449933 753111848 211246833 478457265 795787749 736114898 375147374 333160995 221424274 266272124 715964110 461157366 516068413 655684739 780010617 446874068 518003523 904480307 208277390 732116140 353156775 251332998 812759567 647978127 567448017 651989831 394337737 356815326 485252848 239870199 321215579 136213548 105053398 161059797 496626222 587360930 132730453 245536635 326089119 527157988 143584104 750964994 462771531 473630486 587492909 358134048 144277781 408530482 230107454 527048762 149618379 935261506 267347682 217871057 764623216 504095083 924448406 532352928 631503362 578321006 841453246 219194351 462529024 518242187 845618567 560966445 908200724 528948765 733806178 826222706 910205122 710250075 928494927 643825091 426238288 663984060 457211370 926757518 855699249 978694084 783167105 148392608 264409735 943819286 692757689 783960363 144258148 952500134 361621965 499502328 971824877 351173860 680017295 196048602 456172406 808645481 491011128 272605154 552230577 762265721 656297759 418471093 979801682 317909188 772911109 183880304 647697818 408752006 719404869 251593906 784584909 780338401 454794889 983708674 937162400 138042806 845311208 161410750 134997090 812475332 660825642 728741193 888066562 456471838 175522117 532577334 438096980 767614645 519446136 511376737 952682906 193772057 426014373 325436500 742265590 273767617 235006876 778211542 810127832 561273793 247287903 924743418 411356484 256484735 387879775 758160413 185092073 897982602 301777769 603009952 289823213 721397603 183790201 922427863 452172023 215037418 269937266 887503068 722812997 677527385 221034446 901657891 764095680 830373136 606249766 445529327 470043958 527572448 242435578 538026777 639990831 226175227 527808417 329645615 451243275 598335715 238703870 233408417 604495067 448392316 923448598 781127472 945042421 231269125 541437894 226308627 794649628 727912169 345769854 245401444 715305667 778532011 398366885 880209180 507524042 505060374 446357764 771738928 434659058 334479283 767545958 540777271 138741650 297347647 139561029 618864926 749660264 669354251 257507976 524299946 819876684 443045095 709058765 602625024 801157265 823074887 345222527 425145837 636945944 670229410 804466833 603489235 829106074 867575072 186700043 678401998 380272914 535699994 111551895 715070236 521371462 408553704 295107692 986013057 775428279 846423769 418409544 812231418 397187845 421053483 997172224 308399944 312474426 412017160 217360702 544022761 742397670 942848503 975344066 990449491 653863034 162730743 418980396 944336973 803966088 902963490 425447257 699736775 615903801 238330360 284185675 268987463 480194369 679933299 816178598 421067636 556182881 389373737 794789111 345632605 565283659 589534508 754900377 572150597 364004273 588167234 317291837 811399313 257130282 537685136 928535893 816439062 785451657 571020833 650952034 377290523 893284128 747206676 984222834 501720534 548600967 764994166 447432124 362697576 436726593 478974271 595381280 539552823 726062309 930090864 228306753 153230375 749557207 872117723 158868268 642057706 182429370 417666631 446602787 531743538 441088513 559709703 556432557 568501331 103258713 264740320 310688319 354998190 633830673 109562138 714928432 230269424 407304123 472844461 205591820 284506601 216002493 672080078 385350062 577950250 438611184 138954454 167452557 720459779 877563636 881241198 158001623 958768305 248460822 678314618 966331474 565559337 539115278 400088939 724248179 442037560 477652307 672629287 803715497 257471650 384227349 924932288 435534771 107444713 375391302 469764067 972356233 975813662 811483903 159421635 835095034 945128190 630914851 265393569 651725760 436875429 207887036 233911958 227131317 699394179 646708490 251286740 246873055 221901044 622026940 737989212 105706551 931877886 852233244 536218582 376859700 794617992 893946205 476251777 511261195 372467417 501112231 388853712 391941502 128854844 130620286 395640400 178459705 149578209 822255639 292865691 142629576 500303105 539136783 754451543 123919916 475550462 836619099 215112357 159683851 972081307 960929983 811020108 396397734 498062560 681690072 103675047 955085517 694230290 414247566 826842745 684100648 197694319 388293177 768554170 792849047 301276971 132818691 413934673 552999370 750964185 364351674 551769897 495950443 208745260 809380238 988285100 761066170 296012887 796446964 196366925 539390286 275597619 137412556 134722224 272232010 224841524 951953857 987422486 435248278 880459175 201305212 756797212 434971473 422698535 315256354 839577499 989971568 740247560 633916508 277407827 189918659 325818753 288438875 612032164 935769032 613479306 386111319 175316424 669744160 967887734 934426339 583530453 373115130 327966102 539139684 485453857 219895453 687181890 595921535 937783997 595867716 904065924 449652750 163933514 219100825 324125430 198459862 684072623 129113971 638814793 980206107 233700268 483349049 581009361 769127986 866925358 940734549 398896854 511902800 229967990 185802851 331727848 873929028 692750478 756728017 685822305 323225894 409741315 480931996 638860689 409026871 787783007 262862699 570494881 327783229 463325728 610323824 342362785 740787620 413594219 985169731 944569957 803683582 426103418 751292719 616779695 577245514 959780431 148621402 724334024 799756987 690118677 933784971 733232577 687045761 749503422 851320397 946952091 322622082 945193716 338384515 918130964 180788170 524507416 880265783 649169993 592290411 827041862 504646693 140605070 203774822 402001683 342319654 226898548 546849366 923754369 130789836 761549115 751477990 580626345 398888516 279949695 494582379 635925572 889066074 606035844 447169868 443565914 145591836 990141166 670329543 376350234 648156461 203617415 208477877 764178939 970099509 490398745 289719318 123208725 364617976 247347967 382263980 738192422 444913027 829734534 470661742 223410683 397398194 133751534 298884968 989769926 337962230 844380183 504698525 772089302 937812952 472499271 120415626 324948551 668133660 372205446 396547134 193578374 828307965 747146886 267075224 456368528 454243765 732291009 707937319 439449438 600759993 914726408 600591357 739596211 404453935 442741102 520048021 988984233 830568498 902624121 459931185 182238672 635806345 753060583 665590871 520309728 553117761 870691573 950299549 152731441 257225635 443879604 561748173 807080160 554362780 140435655 662371783 360268271 396558939 959127210 976782116 918118142 750442779 794758158 664457148 437105593 155443056 576950273 697355329 204091975 940058078 952324360 627229039 610634387 566867202 107032262 229153097 342261846 494491859 621055773 776699955 488620283 635889808 540989002 668576321 395276095 549806955 615822315 650624445 482655881 663812389 754818738 526044932 568846369 654255399 745631265 415226239 933138384 360085797 409954376 792560763 187529315 940169037 488938362 131527304 392215335 259871840 499799982 172808410 753384869 982797380 929328129 355040987 250088381 737119044 466212342 460419754 896779164 149996955 896654382 290081590 536313947 182173483 415909677 808250187 267723070 616705279 365407776 270530398 522245918 105266101 950654528 237417065 963296695 180944752 321974242 985212891 653782066 860643095 415625071 346489350 559753694 228834255 658686948 558951500 988008878 368416552 581079325 877498365 642478101 372455447 765824066 294761963 179573810 933817932 719409110 998801705 576076255 777906213 435540995 127793061 923186288 636203653 575212410 254591060 540018265 471155734 455069736 268703825 443066051 867525857 529317647 279857729 487415014 821091726 895441700 310717050 707222833 727407897 956711324 909694654 143581752 294774480 650280779 452608610 708761231 576193012 147759618 791697495 311734945 928157588 990534398 937405462 467335487 825232288 554568935 574579517 656908001 970714348 642349475 992601942 594948899 835666400 863065564 249011008 142144123 548476927 478919309 352916809 529899049 819462134 450272021 593351497 877681738 171829665 451960262 924634191 699741105 797534504 676451028 877167438 113930929 704446533 872350032 298563674 925001709 656233174 272543388 450444347 964390931 399011435 951214541 221216189 723069558 881416665 940383876 815101043 703103182 330328917 409038960 724618821 904035892 372478090 158085776 146627231 502686582 905097839 244740188 690239312 191500270 284979106 517639845 373065918 685467532 163939752 814439326 780394158 974055054 713095161 977789395 482416202 968866693 840051491 189606551 124677334 261983050 395575937 784507494 608893103 684499379 973273164 533935869 780688981 230766422 382845025 559514314 655501766 900621859 357593047 299887692 949389702 680297513 783589550 515450728 564902870 281305002 132813613 869785384 634889772 512623598 246017985 331364084 486886401 512227698 331860998 238152075 150931618 589789657 510565320 239013055 424816478 807211006 399234719 222235059 448581692 305057318 740321755 630916493 100169318 733549505 303402782 938446835 838564007 712208713 392707045 103967825 296525845 790264730 542516165 884419486 237063084 896800621 232808220 861760546 672961635 424687256 793655800 779427569 645658366 284665544 325636185 634014474 394255520 653035226 665960677 665845333 733753269 290686078 564281298 413962309 806541798 685267616 417011527 334277092 942170667 205194915 335867540 157968098 136140324 431302363 689111534 818152485 995881542 559099612 617641252 922946673 629685368 801642708 648200205 364983343 966902992 227710512 427225743 889685836 617960551 296401874 776005581 313074434 810479007 715573498 791360194 329942058 891669310 789788029 103908709 989226692 980577649 625346796 773831680 607098174 832865898 813978121 877229680 401790621 885181085 513587565 953428958 106004593 851439728 908831491 626188500 549990621 175524586 632314227 399793604 377496297 753333978 523796539 439793744 254324043 189759426 515362063 429178949 124496191 856707770 192063885 388709698 978433616 489808540 512882368 979129512 730422158 329674968 214150186 280236517 889265728 746437257 890263833 890881332 559939714 837510519 590116763 946242045 519178105 682402868 361375861 461624873 376814584 223579009 339008761 123862752 240932545 311240410 928022198 802903969 788858544 837721513 378745407 113566650 834461291 104888978 968384811 687450756 608581959 478063240 521625088 436888441 555184774 886306593 771215402 583743846 121172786 801664754 211901556 416635753 619577668 561394277 898932852 626919011 451968251 759996165 155113383 671286430 981661667 369655219 935052971 363601562 857290959 877793843 471858225 622082518 897183410 620138144 912549234 484632605 903973208 976600869 306988227 708747929 156199767 881775416 385460308 672000644 644386931 322868478 391394638 341284462 248854289 279439955 259970140 819084418 164379527 454946474 252423522 662261949 510386439 418012607 701831612 781718268 417911700 352217205 953323890 534836554 390231880 364029160 663180815 746782030 848206607 846444338 842089871 992385086 714661727 949406323 769440732 637887877 832047149 859071284 957325351 914059023 836898926 681226951 589213332 651755565 967377728 856852756 756100023 245800774 665582349 188557235 144803490 916653092 615135356 257980049 709513673 297997293 849925096 759829987 630519931 886553010 940513318 550859841 125034615 408192060 550897395 917491593 717774597 311605419 904029107 201476942 340602825 848456304 206617218 527460250 910473370 304580426 138914821 648775250 813509029 552266881 878495530 289445175 145842364 342811769 422096310 869701647 480483729 682908535 871070733 526453090 888858178 901056063 722763218 387834142 252197024 378458693 313781611 303885191 517759387 296308224 625936091 449546153 409041556 873395193 321773308 851982759 679696419 482105932 455798120 429041006 809061256 953362585 872034524 821774688 725298786 466474232 847018287 165074141 666168584 298270804 363435251 258124105 833081735 895626964 812794472 344100676 371129154 602990164 974232256 883472865 986128695 228451604 705093900 923004654 642196251 625002610 433506139 513665557 501734610 966680037 337296990 324699079 750809248 896322124 909781866 535551157 388834802 434373057 656036970 416852054 457064852 849770444 733224548 832919241 431681079 762004582 444507594 681891980 715767836 948450616 310039348 202812502 392764380 246597064 658026394 792277818 395081100 941583777 813424545 651527033 623729653 690157114 581392060 925652978 701210503 233351839 130186861 942510890 784648000 263004036 774464784 131912564 249664422 384458174 818596894 426559831 172879529 885377454 115190092 615474313 735658567 646866156 228453178 563151247 319485320 685883479 768843747 898286001 892786067 719730389 663647409 280814451 588315096 460433921 593211747 335722502 754861877 245309445 160652992 172812283 782880134 713078735 634849108 741244157 112062359 377542577 812230981 831840887 516018939 246245266 510861798 947124108 125403836 493454507 390172008 935415256 173344746 634389823 100532476 878572654 401229707 350001440 293336401 365222058 901010671 491269310 201599522 362961718 319185519 426576064 995168333 507264226 840528918 376572533 919324459 337903843 643159940 396073774 824380089 964638424 167202891 184826080 615194569 304127150 352684468 386215399 634208396 362631412 728320014 440426280 832763968 532842943 617468990 505605330 952796608 989289010 107485029 926165163 701822843 231185360 110392761 726588137 767682394 891001076 531255793 986855046 868888932 271212791 870092826 183458708 201133658 447660157 108927539 655999411 635306519 234044476 916002840 346268740 917800750 531102614 175086088 734394253 966250432 690179262 101670348 526927879 788254420 869399247 720239531 966983543 424845183 103237566 931891857 531578112 859206565 533890791 217708108 471235431 155647859 728904852 207783502 462303431 418116601 999076513 385063977 235599140 564938447 261492979 822726531 605117074 379263125 530190124 227404297 588405401 546979834 619946284 791479973 310142376 720947768 995534280 381499082 680728657 464210606 375840773 980289856 401101082 423518890 656407018 519687206 182426203 593570156 902328504 368391093 619654619 883303342 422030262 890576822 829990165 539241759 643499038 496055572 202475229 844946014 752205212 698261916 287742509 837199626 222268658 766191968 151924814 836406736 959748869 976000355 765493312 329015113 804443837 671849241 350124867 979892620 857086448 108125959 430131984 396836407 419271863 355787981 408738791 187978290 844420351 524686308 116487197 658895787 705699406 916213112 515418464 137452578 940125246 665971812 631189090 148614013 250902842 360669750 850407549 844892861 568453795 472926068 726496237 285440451 368977741 240802065 604584422 738451583 763461042 472530624 362912460 867333030 319678936 959462608 432202974 925473731 411587506 736018725 856384736 212698610 215170636 575883015 482955050 551156004 699928422 425453271 856370143 570728349 725846483 952022728 928139683 687401891 319317269 632834775 127756137 238918137 768856870 790144412 853203611 783182724 689799381 763007272 339683405 545966800 608256069 114870201 849335526 932890600 712856670 288588449 725714709 108618438 175919418 945837845 620425694 877514708 927353305 559813235 612917366 695084043 893018600 907276759 813358777 345327108 166673924 130290033 589085581 797695457 520133525 382262790 728285214 731794207 857016905 716239417 146880654 774269239 128985633 184615133 718596231 224108784 346681382 385991816 589916136 352669446 645903310 401283277 284786682 945710130 744670867 962157110 888635639 570767345 588820070 437853724 536961973 239805357 834480923 522008414 200058915 336348560 784625094 268772041 223783643 952853839 451619821 665317342 924217858 621650661 550306422 824937419 502459445 455568368 546083149 276170926 217116968 319022270 892985641 640190847 605686817 934720554 666225793 583486362 273329050 126742906 958726418 211564137 580028639 652692972 558043298 968286128 466329665 638114553 655800585 934223340 240040260 607794535 811489459 793256953 967855397 855867423 473753225 874305465 882125628 633290665 607741134 733721830 559415839 932809485 864661015 969730101 535625004 572970991 259546346 375089054 653945404 755979415 571449158 344316528 925048220 464272111 132271080 508934249 981335927 732792159 115825866 762795073 915851152 299828388 752252228 190124340 784874490 424632189 978426657 400497975 273532957 798440898 380201720 922018979 746005645 991388911 887026397 639350063 127147294 772439194 888476642 762426706 638168011 671909053 504954640 446235945 318613069 479985631 763120663 626967865 967934463 899915209 247439465 841290281 764616933 430745483 885261084 189078814 219708287 125255458 810228143 360480343 957615892 589404258 254186430 994174347 317536898 399477027 472911558 986500829 939189993 619343190 923510531 589803022 703340598 479034401 664555041 582728197 695481907 358526897 521234027 425267536 792745445 580664034 894451120 725478140 806859411 404362037 101702964 229732738 188834553 557162641 230636215 627804610 474185094 698632229 872556338 334958985 549886447 367903765 186724262 340245010 136408379 711101307 867071234 536890112 423988740 549491297 253380186 464789664 797835010 424579594 152292719 994951751 607437150 460558717 798431728 603456473 813682291 622577308 638252320 574413131 554878816 917148021 152061602 553588926 792519726 960707911 285318968 490855333 834264108 569702480 414175777 739438106 554809262 742613734 914998042 475840316 230460792 443256588 346277237 357366771 327300343 421344846 540749929 852502948 664972064 376687179 666622290 721005323 245523107 576378635 321643110 904472264 996984901 194531189 590453678 324939490 228132721 574312790 601855235 698782002 480778485 254788589 850432872 408898209 666953804 133606026 227569211 847101860 496814387 763853929 787446902 137091865 247109785 407357178 467102855 753883244 307011679 384851414 934136800 504615745 252974575 914357123 162240393 907456084 754649775 109050360 121235276 513110075 102471935 330204328 601735025 427790897 411784997 741251083 319444181 977137479 299918010 654822936 220081855 205639540 334059591 517243810 615495932 732041494 265524068 142760700 455324104 582813271 694157657 944386548 943139163 386017650 902716589 544226985 752492223 711819741 524881640 989718117 459827201 514547644 873680486 402160756 462883655 645398648 446800765 536643257 227966307 839335093 143134910 730934601 286579615 204160776 361744714 664076032 931980153 301603969 350055264 605906497 551844280 853619925 684394275 272487134 323697025 585395817 161338082 217542425 522894591 390773535 575389630 334048117 803587981 116428198 902433667 978888306 455021143 467392917 256694032 448301986 447283543 631353724 575694228 275692729 254377853 226893190 718952618 115809556 275304147 698269845 131371969 478426259 645442156 584067674 282734193 292173241 910842679 683867141 338645353 100294496 213278932 232576802 883206132 576019708 317819981 252074289 849848019 779303822 573587607 334256688 219228524 206539828 789365657 623634979 688080134 620726571 367080771 375188338 685210043 805893251 410220845 550630826 137303221 574272773 477670704 795828628 792917967 308371599 386367772 347784044 565348148 650217585 227673996 400292038 411068134 934136141 795085476 688999380 262623354 568617633 188614389 613302506 104175356 398226474 245149964 323932230 138564100 426738110 692986500 574134906 411964143 563476710 766053352 966257642 910738741 209246528 519686449 625718784 305420117 416723080 872998869 253262318 537471045 829648794 364882795 590810812 859236315 965394121 743967275 913319051 625208554 230976811 784884722 515807331 998212253 330314579 432781065 874337404 810997339 791341477 711235561 950375207 852831003 367492031 582003226 794540686 969145794 355648653 540036147 446326361 478241835 541258910 857164393 942958976 904930689 855293197 481032205 479060871 830608410 771079510 764308650 701971004 907436437 281618402 388673165 781670970 244014833 856010828 138270590 587663378 928564301 392832077 398882570 721342061 782629071 690517778 922486962 346245408 800437244 466064245 724923787 985734073 336883830 760307125 315744114 123435704 281444444 933968576 788850597 156551821 435619907 194551355 493235116 267967667 460781379 160092410 171097924 538813442 255816655 229438897 858255337 541815749 549558596 288686823 906153555 240501360 246655441 825795853 205444776 260183110 299603056 772206616 472740201 947421226 439691504 544518186 461344623 677844894 889293153 536431149 114735838 285997047 457429478 763092272 214619743 717069179 785021957 373437003 688057054 695997481 768117027 418990596 692608126 539437416 854393559 903524574 211420041 164080427 509189310 170531410 416851367 320111303 937413962 249411190 722816096 309406271 652215364 104104827 636474873 590357994 293290258 853600549 565458989 168952579 373020860 626403038 730994714 386900212 670618663 343658233 251006833 994061836 333487891 422830222 808906158 929345247 799492474 318743500 208423153 840501893 736417826 584729998 299112431 866349486 720736601 941369527 447673466 172865254 876124677 844720312 341345844 504594813 942790054 779724730 187609981 536493698 311454219 902659961 810623279 510933865 299502446 662872012 934324041 634798455 816648084 504754211 888544937 561590844 108605620 842628890 807744639 299620565 612841934 362530687 659018189 417307947 902701416 270465973 931379483 711252048 628251194 429768972 820735191 861248644 492138070 908140381 218754300 182727908 149777058 106217818 746690877 875837963 168047826 310615013 280210223 813158030 907296279 962400280 147015313 567011527 706919068 992580120 252747312 111512178 813311083 311523457 456489303 791196393 705034319 441931965 360218514 213856663 505081166 335558238 297169008 423564787 546132633 988071739 385660438 414384152 632493813 477743376 351949656 818831172 418883411 684549345 628562489 639991393 183262761 722396504 952476184 468099788 380551446 976109600 779958693 321076690 343489549 733421509 669891047 379880686 802612147 464597502 592183158 231095338 225843868 405023658 865573715 747539622 624666577 638243634 289959297 202178418 407012188 664623101 902085236 892717037 816192948 708434256 227636712 145538712 934932324 968658192 369293710 792303328 501046210 117261058 856721677 554875923 869628624 179318162 976293199 949258079 263270142 222570992 153782035 375806319 576800729 414947189 990779954 621294694 219833601 994341130 500513210 597452193 280342573 856578277 502820001 552825276 548809491 938869830 896492274 384318251 578373714 463903068 818499716 377412919 810758200 581799799 563233525 929370765 277584372 762556288 601658652 898043260 292821968 508711182 304947002 129004518 942689040 278906243 577737171 414795543 847373218 174950500 856174325 676504509 113456981 670656531 791017344 794504599 895899927 377475673 646923233 146025949 855424722 432581708 805030219 498857500 248171620 689259094 117852934 784124912 325951509 362034090 997550502 281727742 413227503 812230847 611780475 403947484 808848057 217147005 861706621 376963285 851072341 812396214 691104387 509657817 154304817 714011354 705714601 801703678 454020122 641579927 424192845 131707829 882776821 752169035 296790127 712698675 267789334 980769793 105635962 633856548 345315390 300194977 262326955 600835927 679317958 697911985 894363656 719316119 637131369 941403492 864104041 990398707 979024371 743064366 721609277 150856995 426036044 718117640 794986233 634441661 231094350 759021633 603729130 816610689 461022596 474455064 313531477 668553926 590963782 130380481 107096409 242352646 612342442 592453456 188001570 422229463 404635736 377408837 381373881 645527499 196749347 713081430 376834232 256527068 767074232 255294005 313721318 819931980 859191228 370906060 933096870 316924578 977023243 146527475 450887156 760857230 789237674 344000801 873721016 682061128 588279122 936848079 930671393 584137176 513354310 574785846 377885359 411455137 109181530 213277216 345449745 237581867 444487991 980782097 367834078 821605856 738761097 826995798 126219324 407743788 322564055 238258167 937878801 247945833 571804781 133230510 933568466 540099644 125557784 418226421 402823038 803610445 334589138 127647094 591459412 518834298 965713511 383424491 792343956 810334243 602614827 924403419 431020879 935155857 831490893 691235587 990543232 931645890 356566315 241767711 598790642 275823477 274419146 130544001 550655202 688930550 309223858 102193919 631107881 684534273 202586416 112610102 348768169 919525203 323973314 537940291 939379448 585787339 190736764 959939957 233865784 566179121 894771188 991934919 604843271 429674864 355936868 920644253 828982572 788265931 596243714 863698860 255892590 962720722 764261387 923014126 732661074 603806080 816793538 735684594 112489699 777734915 299561829 125880977 729771629 613760225 475550717 340954042 233325210 886908011 559041637 368918715 842420082 680666176 114163777 175977253 316402975 640345801 892330435 616161628 724700705 434635771 675281659 380272755 487504117 449140039 761545224 568457338 784125069 187380081 203766757 129532497 714589354 569678216 312775099 802971115 410643412 301656639 507725512 782380850 536750306 180945989 848012344 335242445 640612798 148014766 184751588 340929317 156139164 676922994 814709420 952471467 912513235 208199486 736473046 382930092 642195584 708480686 963302433 822974819 351581564 990839136 110547611 503103229 286263709 865960459 118497438 495886324 883180495 210291149 663028617 561530685 478204253 227179526 675878411 452426540 975541554 364701622 970430228 209310567 123258237 311910781 158886210 548507392 870334612 459569294 742251475 725895845 991956569 652945116 968594675 330020978 942646029 728094628 614063703 216833358 785997328 404346799 329026349 330964611 423072408 790099159 579608698 926951733 729164502 756799678 493306382 369500252 577946598 220344499 113439837 774375879 544798261 950263482 874748551 297189501 716933929 115763117 223857996 931179372 560943506 256637132 395380969 743423086 962797105 827171142 744603487 472065514 136407585 350545294 907940885 184019386 204419338 671163564 635855257 594434709 368402601 258065145 365527372 984695971 219513295 864777250 435795070 995406972 504284478 274523088 594259730 956631083 801302210 507163013 315113238 859745117 444941055 653898802 650763261 373815475 885583829 247066650 723762556 377430910 399105074 575581866 873819859 951527564 192692389 371806017 788938860 696092045 404761189 946206605 811223996 831880480 767017809 139644036 736228772 309124714 283302269 318726220 110923773 547678109 749255385 545922916 620988751 218513562 422257095 355097702 113727994 620998359 552177910 578364933 246778262 152990906 732607409 103103970 263546004 373444824 304994953 823055453 517156033 146832560 259794273 558198069 358291831 741670290 412886649 989665709 419163196 133942899 585846184 682143014 977255652 570728391 942287278 204079882 771582021 101640459 853878979 350822263 341446374 672699970 375706836 254237331 235224727 814372684 567648522 445668170 677533045 423322001 687475954 957834751 780878519 335703167 166860570 576541117 104059735 833344503 890560587 378687010 822675660 737942899 154379958 296626826 641983951 285795262 583200346 272934063 980173519 217720666 693919644 778345515 543851878 944623108 564866636 715476802 320073689 793632955 483643918 590825569 896111444 478891893 624061573 725812730 508712647 374089434 289818471 916725357 452023538 745691833 201224055 106424548 762917280 628001883 836348574 518642909 794816312 891343257 954101598 753226218 226671724 941859034 960303842 328574937 693071864 780033007 440975426 750493369 897942334 751688526 182475439 819933578 980564171 321425334 216999840 412338181 539897149 310364112 907370661 445154217 700782715 409518866 367851337 482251481 165209985 827483492 197960083 444290175 394302912 697794557 369490742 559085830 864140529 225874759 121253264 638128643 570463859 330514448 770548518 201058740 888918533 183256158 283607453 327568954 573588603 678399961 384701221 923921329 906156057 919551921 226376969 525518017 481976633 650678515 141078900 237639015 360416357 111486160 314758151 569509596 713427637 523364155 121912494 508934859 777008662 234071587 375212469 947061212 926446315 734603061 309893202 589958150 266819405 966136117 571782861 953580956 769409799 292310620 784168891 214478761 133009118 379994596 841761683 542955024 611515093 400462265 407885148 987597479 568741407 669785062 514397568 219899327 630241743 549813152 840903168 658529040 518242231 440999063 882700441 720310397 672103038 631493208 155060169 952624748 593055573 407616244 108539461 998574740 410312763 297741372 357265053 687115583 489050762 415720448 430798626 936052633 524859549 906039022 589675530 417128555 361976525 863036994 538599930 486064334 355979222 701184943 860675159 579518020 296647343 208032781 265641113 556298430 401407300 690068433 282608140 673753794 663889207 872798961 775599484 700532664 934247196 918515425 201611569 854119402 260195608 852529683 900674867 565199734 699636787 951738495 968061265 611644378 976394450 263213799 597895935 703453827 492839191 211902124 362064063 646267073 316697665 750767843 424044753 283941418 196821330 115198951 773566024 449959031 178801009 950033104 278598723 998768041 773360614 144794558 979626461 871216929 429503089 234097348 271507816 680265744 766383346 326751207 824785515 589916695 940867311 836173360 422789407 902459615 303089154 539728064 749452856 402450451 171318639 300949869 956716500 390555762 256104242 441193738 768192601 148795902 626906862 426912989 383165175 112125822 886432913 635988014 610381103 377087729 755352602 592331061 495192588 550171208 326575375 172500635 569026638 848114199 535504878 417394035 806433323 707181821 596317412 622972667 631500768 775037497 533244702 823092476 660838769 568191059 399912376 270195627 502659131 678828313 694483416 431272943 107757030 230001267 779541172 521535556 557303332 659817925 209759270 104561341 647381448 987550642 195148704 287850370 460324874 573347085 457379248 403408515 822843072 767774082 598985217 919343725 292308532 368327732 324541307 147315102 857739935 743814715 466410121 781934092 564634760 944821700 538941633 359891129 580697867 204535681 687718238 874723173 568083535 805653636 442598669 189511778 888593684 412825855 690610636 608673368 509896325 144266734 746589152 405882897 980463624 925837033 745886168 112099358 891452369 864041401 349049538 646801886 975045555 188038210 879711656 784186600 875335556 533257322 940166859 333855979 595407999 278066595 493239847 342936162 879853567 584859285 696715267 643532809 165811595 319956201 509380288 104196240 204285878 465190005 601208665 538367230 814770347 146736075 787305009 343417766 851073077 286261369 406476283 985011381 227834272 868187053 898371670 363519304 951622537 955082230 547427460 705936622 825177150 632307334 712764811 865666142 955961491 754350940 803069630 931189765 554285247 954030629 306139744 213829668 467998910 238780845 429340787 232767951 659311996 161033881 679750787 589527690 921407297 855026735 263243775 545086536 114784106 819420403 490062364 101721998 382291759 689060520 186424095 763621378 618729533 973534665 850501696 685359536 197762591 607499928 987782306 576829024 354821979 231374147 686825327 404830414 907257609 556360115 534596132 530781732 925491591 496359265 525213266 189871180 219029417 287706247 328174839 186680942 794268218 919932715 962211538 318761573 136713906 401637957 925226118 852788875 761116622 279013848 596938955 482900392 168574188 491514902 331603170 796352941 484815188 118619786 923104648 872700210 484277484 101609173 247189939 158903692 941412298 140971369 486710229 118304421 596312472 721946770 798905119 442894364 107620953 365105215 509515189 117135039 937571573 976298174 377113865 292713317 233604384 411755805 858427453 274463812 137663748 349458233 551342875 979446811 781392269 424520167 332924774 586404672 637761510 892830799 997454001 207794977 705768539 844983399 219479322 757626929 880773120 750418932 644601875 372792513 383573143 556325777 653537953 690320255 797416909 267553179 997814380 603665242 428445946 917618647 681800375 564474574 245667920 453551929 963648670 100397241 193169625 694943309 237628637 226755670 581613944 357936434 199261601 536384151 120833432 443216243 402349716 503733150 496860476 411945315 598873163 928872559 556036539 636358620 757651768 144620426 433294593 459392748 970213713 985440644 113452131 778846614 974339231 989755794 527247267 999521959 686539254 806554390 219455303 551181138 154946299 552209967 603302783 889150203 362221725 360197134 855589602 666559686 498780803 695950345 530913529 453410506 648245566 801096876 187566882 209186168 822445002 768555727 260660125 585525868 477909007 506601421 348288654 122439587 179546568 867005950 865713642 232116951 964875154 904713018 441162605 350065735 249876092 177962143 784705267 913689676 544935181 583277162 611013202 141519215 434775423 873141293 595966157 680555550 628626178 759544415 642580198 350564607 240196555 284078326 626232275 423131148 753866107 673764810 985855014 753112297 228034471 624227098 338470778 939479953 890445014 185252580 597242527 381567284 474172825 897452441 941180897 952776369 994353198 990444361 902509843 457009089 904863539 857500612 763753778 881527695 776927367 487930139 365826253 675914632 127514796 384565197 918910856 607239835 686168747 467241270 332396161 905101477 933976489 825693379 807319528 268951103 856905995 382905851 403154281 975030421 637808645 579411821 770235511 879496570 948158080 706756938 389520768 216227086 115512729 452166319 897321263 199008237 571720061 917393531 434271462 378041401 468920523 135733488 416624236 835754192 425167307 592570774 302761292 709627801 703257279 220755552 577893501 415680455 408963254 120303610 956767750 804182570 424023938 674997913 632956312 120828027 240095400 195529700 358407659 216644332 944991767 862999626 203609309 940144039 749978959 744892476 304649860 667860892 468890501 472823279 511995842 401306326 738873486 280482834 713466283 724571357 951257948 891794347 136084411 937228091 584867240 814109707 699096519 284031119 590258208 955451146 735150386 109365002 569780725 440680593 138063761 903404585 793393209 512397691 503669004 388255437 770997998 303800121 578066449 644316957 447391531 870213637 974639191 233406893 273190654 713618651 608482464 846923186 413006533 525057188 408203954 198739299 266418894 417740019 982593702 964980608 267277127 650352159 301468829 455775438 390555986 785082947 727366834 245860735 127748248 524364559 181318550 934477985 105217496 729593982 218454982 824216535 960103710 504856302 785786745 424544978 910063045 999803076 303451870 145968933 969027910 242687695 521469623 286441620 843499144 232180828 988070486 279430243 779131183 574386799 850310005 232401158 196772024 338901289 149572041 986667622 914573497 206503641 465424102 455344468 660909825 794021289 216078251 592043307 523047693 642891241 155218508 211872232 667940349 562612570 645225073 700876506 290795299 626743508 990155857 777956136 347451452 905691595 210090929 771092626 676785452 239614257 402446393 922452848 654284314 560860282 931716012 473750384 450713433 659049637 242878636 531606713 988553557 728902404 673411928 739454057 384759057 271359546 901634153 175384699 542927414 493790110 725431286 241290113 997602146 193011978 989975426 491150400 979179791 619010891 859895459 739313070 871973823 926423382 488501783 134155899 779948276 456587179 820981625 184261168 959034207 404255737 103652976 923162579 363704658 466154599 793458995 876687392 307101080 770070263 148625053 785481059 369713408 266321658 676070887 916693568 477953155 929399887 210581010 129536093 623503419 297502280 101948470 162906723 968550571 128751581 538173524 806607249 684934941 828159983 194370378 783612385 802965403 913178700 664288972 649095987 765004548 238710126 480704286 336481742 424996007 775887227 837243516 515893174 637109082 810812058 916834584 624982682 287146729 984121032 223711319 330395723 304796085 683917150 772032013 676298165 843262982 482024950 708289444 371216441 513138866 996311391 939012495 708346012 822527580 872295863 707092089 438543449 796586713 789894845 735664182 912172149 783146009 730535416 954925583 259468692 654834366 654927604 950247041 914779343 493103315 333079638 706222649 307525249 931985955 884666485 983525080 404626497 156900029 145606988 878542710 792764002 155400614 773760098 539707595 984932622 979097710 737831444 936575362 249139024 194002831 321641526 184934331 916241829 126310097 802248434 215863158 699215907 381399240 818422872 906331022 183735596 872368448 334031539 545043351 642277479 151817121 858507551 702857940 144091927 682737062 105879950 311845336 612291058 787188435 845905884 938000910 831568962 233322408 486826539 365570377 634558365 739640461 518617207 566400167 304146559 390281818 704957996 931435670 761693003 780099683 426970854 136548461 594089108 561001241 514447829 361829414 515513043 613254139 171678526 616255990 442804130 134406628 523814010 213532039 560616474 681995019 162335522 926236559 359124336 168926815 766881606 301141243 853624499 879118838 735218256 102300815 837450061 774789847 471416198 770379296 113288520 319357313 839763727 258492039 420944946 126140123 331911305 135672080 770348901 146355968 137738000 814910106 303637346 169107553 407126121 348652933 333423589 412964492 403622307 838454034 532703948 628365306 950258319 224837141 518070428 616548301 158380016 421292588 152637984 535201913 784029808 531973144 616642458 211616362 543938383 421531350 874765103 167290471 819340768 550261947 470852243 155674205 233640492 625665807 484106517 475940333 187596543 441233768 372580242 935366687 850700273 895594291 564808057 661067678 848742490 307699483 438175930 547226774 256266423 286146452 359132856 914714836 565458350 171328921 771118048 112203417 813199174 235957472 952027960 319289157 225982865 632520433 655072988 660067915 673225519 185302460 975062414 611690147 842074892 207392986 906722780 304802159 383860820 167303041 669108095 887806216 447265691 513399809 337856726 320325253 528259708 244527880 725583877 245020797 503213120 262439636 466191003 426027286 558052137 719700854 599558876 520641411 139052234 234167114 713142282 274035587 391096010 680184807 515039150 342243853 541978089 656081862 715576602 923244945 934651133 335787789 241639054 861285489 503597992 339935020 980996175 737458399 490879833 259726173 804569932 832754112 772829213 332054782 188172231 972689684 317001666 139442659 553168007 362605474 159924881 138675045 794561723 234333209 278977057 678656470 256129387 616777940 522245824 994006156 212703193 232532918 287248485 404118049 268455488 945258143 354849811 277498328 364025919 254528620 683959713 973877413 730911036 256227854 613617349 757231769 277804062 916491905 770730058 353502503 223314286 498616859 655248337 619531276 648318387 259274027 176528398 222642585 696084991 791699713 838248894 565901689 208717608 675813453 324877054 150743206 707550140 582525088 330361419 543140927 129814479 824111150 132127340 183683394 864645442 774012313 675896375 895281471 172660816 807861871 300720244 472254908 989928769 465078102 120791426 417722156 154988191 562903515 958479144 109267337 493138914 928097429 842155056 798515111 330467018 144536847 874996713 441722377 397712501 519318236 146138525 121588592 791369374 320560313 537085442 872191134 993924904 842628180 712192623 814691875 717172464 951344278 334834151 275127263 848166339 710564465 342969246 208956207 255582954 891036951 461871778 350259482 530580309 364151835 449077062 125055111 869876298 227181533 253441643 466214491 619114044 756301204 134463925 884832664 419260109 305601921 356469919 110124241 475336763 829331990 530707674 953368530 361111221 805186578 919553655 977950346 649725994 489072458 537080496 192317909 996096846 737390611 735213412 762532232 731226997 290077792 854149071 268331795 125258269 852694703 938602829 784386018 446734930 527208781 787557107 137530458 875036326 158499683 706643815 193044535 735973482 934115781 197408859 225120884 321943146 572214487 489896758 768185759 165701526 238072723 169773345 836633499 931117852 548220539 880091677 428315014 383640275 428323034 744794789 149660875 409825555 514403368 319873140 419086563 121840381 315344906 670463750 773072393 322711264 537063778 391533439 435372519 957946046 666437851 531660054 526749919 167113543 472630399 457582404 421123640 837141501 903157380 523172542 356304828 811811875 398918301 889434832 885007127 229809825 789482016 753104898 937123483 458498090 487942040 719501890 485903951 214270248 477965401 181437484 143796551 631157932 570111134 795329488 750188344 363077176 556331276 487831944 582517969 255020541 886463167 889908999 627699706 757304536 589726796 629411547 645232063 832173544 223463895 744936347 969762471 998778915 412959251 404536719 742503586 970917709 359747616 304608402 726026713 207910440 330578850 143872823 377897197 946433964 503026476 104389102 547459270 941506551 405621719 112949341 113629702 183596061 975590539 715672376 497972516 149383679 633380207 314179913 807380586 963507257 178201575 261173443 582977110 588094034 822156919 167537124 570650870 263622088 708178699 441987332 710210402 637746895 777564596 285293231 531786697 530232479 922419704 482461174 842933817 353483000 512931518 814683223 186631594 364230162 961068500 836241423 700109007 146384005 983001303 655692734 209255149 850700302 887216614 778725205 607361060 935413578 169345181 932887343 276505885 569244864 533589873 789542513 782154396 312566817 577867311 783962249 113239303 182982922 911303465 656156887 278500910 942899030 547406016 306277602 320400055 728089490 410274145 434230563 259654769 976634210 818444065 578637169 467827422 557872383 571985228 416078340 158982737 903887124 130008402 394347849 979261393 631328923 216942512 398010665 985730398 162526956 532177351 632324541 502731101 646247226 864134011 813437208 704296471 577765293 327974376 801606478 229158788 840375353 458803168 888782365 673705437 915746154 237448515 279392826 424720363 415524213 957215907 451854151 697001578 582757810 963639310 210527361 883233343 386848994 190212782 810182475 557206422 195082958 379647302 401469663 147113766 137088636 341163043 821280531 956046372 192838304 148228723 735341418 146565907 653139107 546836756 926502546 362083444 434519809 957879023 860312021 177573421 850263191 893565269 230594193 172057453 468911463 488680612 778216829 684334481 771494640 248084048 151735159 946240033 929083535 742056144 375103091 172468490 953921191 497850463 226448360 191429761 251051471 782472521 461084999 897724982 116408879 796094098 436016346 853214524 352482200 281754695 812677636 216620259 247776346 299057753 314441593 600702268 206637573 671237228 406225203 304142096 243701690 708638864 774644857 841053094 107262167 563165153 316764510 296331184 724075307 798505652 410759598 478313160 560530367 738418283 882806367 627955459 300459302 399657715 951377979 439610937 982660991 465667423 878901441 535851061 133431497 197348496 861285985 674253945 794691376 588749923 226696910 836605866 304207636 391401810 584073876 506900819 912855468 825717675 307628984 953366334 882106036 717782163 389954868 303572556 175182369 614488255 635498859 917066239 327795306 612921035 160868057 709868074 437451366 493397786 630421813 366558399 247970634 765378284 432353011 258840454 781962997 852833430 294560053 449641156 401531626 686894343 756968944 190289967 199193857 414478668 771462733 445198847 539113506 460554273 598762794 235715069 536947539 632730685 160806882 265486733 214449621 937178452 739627073 333141379 380001729 138545872 213279399 949717772 263412092 962674080 136223365 390635573 569057938 382666109 962789195 832939934 328267665 380420899 103828020 198158446 153991992 492523913 896223104 162956563 137744362 465689860 867732124 462417398 797622153 702256290 908640099 896097348 526403879 363277663 422398132 465253177 110299134 152272744 441462368 363298198 781629292 157293755 238700482 289897973 379528915 920040843 626798545 435241921 792815560 449541807 211359015 978033035 924632969 434011247 360494253 440233452 170359396 244954724 276477740 186098249 467344855 132849410 721286324 926464970 949502976 585854891 712099954 662262782 383981054 884467030 969646467 995845323 776142690 645088632 614616805 834873592 273899440 864771209 364825178 116451983 628117214 683176088 787945926 413509671 988694008 402093791 900830388 456604345 839893424 619736238 146758608 625402103 439972999 576272791 690135596 969470885 705641939 373353309 246810673 254276725 994967499 655562533 488119657 455939359 244677906 544626228 406548667 600648855 551917636 586289069 906382700 623593563 955977176 143495995 885727824 359466198 224597103 168072958 779700295 400725621 701983895 735510354 742320210 589815082 769387360 395310594 483508074 741600965 831919983 950859454 704034355 589763506 394245342 995557473 845821838 958598131 950131945 703632871 192923242 208615746 488612014 361328931 150889610 654570871 799728587 729498481 915519335 595280127 166587693 969907077 304737066 679985710 921623792 371024029 378173680 200553317 830546340 750816449 232094451 592666762 733303517 487874805 103739486 796920717 212035884 149957989 201177654 922291922 350622810 190463129 405546538 699450923 324955348 899520592 162910534 331090465 546176039 654069914 762654370 314674948 506407275 610884163 430808526 399906458 481918011 266757291 358466355 491168084 301649109 200226481 671909411 806685303 990451930 802208251 833205221 217098650 782814444 692431275 131141155 303816858 516494739 880384155 856722443 208570043 452390805 755461070 946970106 263149683 880770041 310688890 367780703 430889002 198294396 685179780 254452807 818783241 185725864 867056432 330705883 325302822 101129333 464027639 781683149 342114497 172845163 882949195 162780310 963512400 889133278 995824900 762624015 297265994 790913468 698574757 696316158 764619843 618943342 108187140 226870340 112995856 688708482 479107827 282239138 297543758 105602248 797386877 755484215 795266059 628362772 949322309 664718159 245347162 243829050 279325745 834677688 292399198 840374230 759058996 656456946 632533779 206422608 673159459 179261986 193661965 599560566 549049101 454697604 529730924 779297977 487619164 209712877 925588348 981148744 586673653 584159111 986271471 960056384 131189319 447237492 278677502 427914494 688275221 163478428 189467714 685779615 564412461 715974995 311834724 434436587 919689061 984875177 377950445 657704691 993216041 131886566 166409343 255420016 794508765 716903828 291397730 202058881 329973143 736123162 771601203 693277311 469818090 370269372 926988052 273492748 194027851 472430416 312025697 359578514 836296026 320314364 165398211 545872857 876540323 964577281 961463681 453537390 943613671 880464895 744666845 850607612 180818319 989482767 404938020 297466239 556550079 421767929 958916865 474461212 344915113 326420045 251895923 708521030 137279709 785512325 961083416 836650841 520276343 152681827 878884634 954956285 343499702 220497475 438853425 831614255 524960060 849984557 221698087 555176521 880389475 528041227 425963846 392543913 589403832 587267412 364100872 651358854 941259455 638835988 473119701 222450133 561634012 770375405 981611511 680677191 998321473 597855222 455705091 865414469 141520190 797892959 161462127 927908595 893885155 500347548 809974343 968204482 832203819 880268530 521538687 285806056 647214383 991928970 654183503 649434631 941218339 363275030 807533169 165753021 980131287 789151351 876444602 283993845 283652466 579242173 526834338 912004694 446056187 485265154 746910571 746523301 687354889 308847071 287130746 812530090 932819170 383703609 760277852 978926146 628893000 751009439 237678334 386547448 614393532 777564281 957162965 819800516 456494084 123911955 372120923 835387560 623466180 957051116 686991676 993861581 587604431 157661321 938289053 723403019 406997444 619383100 235344622 296534070 535184183 867662508 424002931 448393566 107393200 278258185 710550476 985930442 387480254 451091759 200835955 272373013 897891701 996602598 531919747 825306339 926971760 525110360 492808860 839772968 396835870 123393521 184518851 292237654 602006954 540142866 875188515 387935246 846516762 750597561 189057907 975434516 606335341 160495729 903124100 811114105 948164057 274421619 194862960 928607371 607019338 412089933 337122455 769221927 804088721 445519812 794850384 974714645 422193409 308412343 846112209 852284483 866940220 859501793 441857274 774198444 494869343 852181202 244406297 749854221 649317001 920434963 467479179 227375107 504966159 695912427 681473830 308008177 483620912 584295676 131283940 928694537 758497054 433369182 470821870 278432983 792961358 456447789 901158964 390107902 300254205 236003857 943902690 321489461 499175207 179796127 483742991 107288785 787344485 123850758 394435147 708103250 172661070 374075019 600218062 787249424 485563377 633448997 351715865 111511790 971050520 514548602 248222466 420713635 394040410 559389296 653036829 212757522 730526458 358676564 319493090 198383488 550526878 778328445 895948079 147289660 260819228 323294439 346948701 463146315 631621992 505554897 211543298 490774131 447325575 362326328 531195510 383918735 258898912 736010050 393232523 219062250 795179862 408143241 410950361 816630356 101964585 131593007 433447730 632452672 417896941 476785088 957131365 916388446 479976174 346089302 666845212 356866516 599458153 365156953 385235535 804809546 777284301 723884082 840897330 680870368 178501580 586338830 263320690 480818775 960631340 292670947 793464642 430330783 635096053 914457576 587103348 135187805 164350948 945506892 258313062 666922383 989468208 826269322 215314235 411769318 479943766 403752798 190510657 494718991 923663105 167641295 215112925 338921946 876741039 848140762 365619500 926819877 764224074 132053846 384391972 261808009 472809145 310233914 311765920 521476190 489953891 367067534 542558260 560707981 258314614 351476920 456223634 745850021 636215195 484508588 893851754 509063472 574856069 820955135 587955115 826150073 337323698 835738909 423544895 846854492 687262977 885732978 548867164 536041111 962146832 290955560 366883690 767467929 816909519 123587474 642207096 491732326 521934775 469414544 546092778 228610706 914308702 747447222 945342591 202565296 294162765 921694686 718913194 747794412 771910170 894968218 589561316 256774652 592685105 683677158 774551324 776822010 362421341 750600596 756704587 752504994 926999657 471635699 242218000 548377385 759417755 329525080 577402855 853208775 489641988 768658704 995530945 638194499 490227496 921159861 411848744 645887421 736239330 317918340 759701078 504486953 275378409 131476849 545071196 898022539 367420131 283621679 727329060 512136054 613034367 831544024 397804679 974361516 418351137 973626617 440087081 669315274 480428732 819989902 460901184 491750726 686852633 882433728 919226929 736853456 513509512 619671410 982673861 713891185 484054043 751835806 650759198 545003600 762184087 157428067 297016604 756001190 101365597 810745605 595657445 720404557 178126375 233109209 355659995 779550569 812176114 726130373 838764001 189599767 250609455 903073525 345151855 242467247 539858232 607624299 802282601 777902587 164103514 719470795 763612263 888389465 445870529 274739122 294751070 410782368 641949314 544824525 401220792 141190045 176626278 601370583 668674451 845046885 899769895 956259966 670546984 992275727 419509582 447479926 619495614 693280273 808663397 658769256 762923542 430011440 341910182 200579463 867074736 256745808 336729850 580072011 760528469 725015656 892706230 240310114 810280901 175102806 433396447 245982864 402884141 565090481 618356088 237471947 634227519 331508647 453334177 120334698 457741930 204308608 255275309 328436351 163687196 403979389 302238349 417708299 448042490 623152149 550210957 344802580 964548399 186077593 283934198 118438450 267067651 408039910 751737978 532947381 637049723 331701505 127050960 784475808 562944088 353750288 178692168 951738137 330294844 866171475 218120334 499150580 615097644 337632506 654661551 490546971 917432821 678653345 551495197 477754459 183924286 363885627 366102833 569946484 343198832 225116900 119059470 211422796 640120008 981277296 710319410 320028810 706184885 145933349 755507109 784908937 483008042 683195402 972038802 190043664 804767728 472299517 985101340 719276636 780794836 794839929 962906224 667064889 101043597 978242645 676020716 199839295 637132464 711869782 635889243 377240922 565877790 824961968 835615906 279807881 116624400 122209141 391533898 982516760 876695506 700370837 874260784 421223432 331641250 608079941 921394855 945502244 730440348 155883288 883365848 158154441 734683537 453873851 538852687 243831308 253474653 714890946 947128362 738829227 850101581 805356102 530297263 909640523 370666227 390775014 634313455 489643517 637879916 400432424 847797143 788177132 712835514 396364483 440560687 658915947 174404478 793986584 129692379 851584888 226010340 660975092 425464840 730404432 687056454 156408730 502472398 904239874 622071935 640869806 705908214 720809239 168460553 981940257 899555703 616034004 160937696 991459178 976180939 408369286 369004533 487835800 253409587 948173827 143067634 809734989 323334385 359526875 666015988 763552417 681179079 854156520 604817625 108122478 711346934 784744037 261062114 144953764 157448463 764260554 701517583 296523790 656238328 732485762 739991014 471691135 142343281 183785500 937514694 980378989 316111033 122828895 821345322 969000098 637694450 499150673 415294734 849317450 176557874 624761577 621853443 684954833 559630673 230206510 157063226 722162439 195836703 562752769 955012627 301910401 904572393 188687633 702342842 782572569 402139787 525912117 192726614 152027331 564419519 357577332 197694396 649605458 644810952 377540322 418478673 602527161 278375865 635864897 926353793 824997147 898405654 185531126 761690152 991671282 793547847 236999933 331122030 491234591 105766760 378414039 484562585 544413075 213551678 552951155 277807158 708028594 739684986 160695654 269489745 603993208 825441240 707252352 233279118 588243188 229281495 968272856 611586938 315516489 848612481 514126119 683105678 114040974 125200023 237111184 342792049 584161927 554587184 735391919 787843542 562378272 777886569 267917886 512442897 367316355 188734484 798900348 309886907 441919468 258674830 283110761 112325603 248529074 738304017 393153648 393924201 494036113 558275913 261388967 566415219 557583181 296480032 220659637 721037978 521822327 126239008 570068427 734299075 711645928 314402921 776685046 527984751 134671617 789712237 933148119 379371714 484155788 585485369 347767879 153153973 700840548 475634419 358589985 938825103 302774681 666734655 199087334 128982935 472405171 733178103 566464796 124391281 779410724 494283130 867182564 394824797 408517607 322460306 525200864 635950261 369477617 510127111 846047102 652369323 202123880 905876736 513616722 828406148 340665030 134445747 660958563 610349653 170730969 574272012 384962939 296290629 377180794 957583410 248815067 175668604 829026269 210706957 143565747 335325610 539096875 857196441 931173923 527574726 239039453 848417934 439911788 371869719 735655834 370566233 702450072 824898822 424682828 319017674 461726643 419929347 933228166 282723757 624773583 534000726 985940229 152747109 340072981 923786554 727129381 630252404 665006098 785773843 194857233 594997120 277867827 709192143 218313094 115838654 588633066 115286212 929514687 366639704 469123687 824838740 395265008 775922418 131427089 826952961 893258748 134210487 413126813 308330155 293779980 515400207 886385057 170594541 881272516 821589562 788027185 775283010 244286244 638457874 776390610 842127577 648984083 870964145 950878558 556615550 782907156 314378571 321200199 460648001 235522985 297406765 947476560 266036975 552924015 700989540 596601366 135149555 551507820 317167115 204237444 789564125 450044478 198719288 834630616 916451817 970604402 567168843 443113704 749509302 686089523 579063184 889154873 951188487 140095166 798762938 577030208 303422150 943253894 914884709 659429107 531751233 251755924 687090466 462569762 895549810 874802563 293103916 762651152 909017504 742205189 437204957 662763325 115439815 206605001 260085673 215130901 683235122 819885735 884914179 847335395 570081496 388058884 852638508 843318599 387841464 325251291 531605902 109448059 491214933 177251168 372922866 437480252 512889372 614151220 815700720 283510752 495793183 190079409 737472088 958805446 980024721 429477228 362319324 192268347 640354084 232683975 546325917 808706466 704220820 285845060 668773086 802551533 521967928 681639214 376600330 680200456 471268934 447966841 650931938 636209914 219842526 337965840 630737257 445732684 437757362 743366245 740508218 686008552 140998981 830680563 745536336 252584936 768344303 637764221 619251372 591028322 551125405 970654763 534807025 882173113 510599204 135864280 127332526 543006157 741654784 869656835 538360730 108932897 822190414 843607673 840033274 524097832 620809824 316165172 123770550 527739655 916191075 758557085 751641689 298775135 252119764 741699843 942012689 616052227 246270021 208178519 267227157 943494944 858297300 121166383 429205012 325671411 518818163 931673685 786895676 349617148 133131363 621754165 440663982 594085946 897269605 746565422 658383072 184633956 139703855 998738786 463053356 175479887 931311778 517720702 404818966 427892653 285080253 658644238 861841954 580148173 518927811 791347117 722724549 638422377 379851556 681125393 126055322 926724220 474309380 893794752 525356225 893034554 774256863 461812718 192719324 169000925 334664515 549535299 871070951 959673313 768095552 601760042 217663791 483673831 205424188 547397846 490562477 630279727 728321411 793893484 139882751 968745006 276899605 737097416 430934097 313457452 603418474 136131495 902035360 400954091 889607979 980928704 726150619 969639891 454500486 391305819 337684910 287459053 478818033 475012536 872354604 826221404 636103098 561858766 145964150 129487915 533215631 645785403 228525375 422611147 513460958 271306063 883425240 841814188 704376560 848939488 799011970 334861306 509148686 804317859 667694975 468895327 375635618 620372906 951191472 788042114 891024243 625945622 124495471 686992858 326734274 355526748 959286641 429322239 362046848 808064400 699393864 945501744 316632109 582969285 798723546 648925732 526832510 125022394 123201865 960402022 255843370 661685566 891978125 806421737 174562754 696212795 512099647 361098940 570580449 509818451 799126282 295737742 620203468 587637022 983295674 180412171 669069843 598903112 237790394 158159574 357455773 305883497 780771072 312609109 470536235 109895220 575020347 636841256 358129574 813590596 386627322 529071269 967362843 654944413 377237232 284099023 426516180 419421467 667452106 957338061 442087025 300094494 797298615 855568835 453344544 867490769 971377994 547133106 610044081 486349363 490150984 532448006 510848281 441486488 197409097 160050092 138655026 941502659 107511426 774501490 850726454 284266949 637541328 400412197 539817443 858559377 455678371 511681215 844846443 166405634 834707751 705707965 220343237 669900932 327333387 377765228 872035581 382099528 132315403 857555317 431415677 776875590 863992148 103348351 948924179 936791475 320144252 168826387 204996780 600996586 296720018 755899989 549496524 870042684 722383681 117456768 873456056 618053861 297333088 941188901 765867654 972668418 114070377 771071172 749216908 229032975 256732983 922014952 943153561 556753891 189571303 904347880 796469064 482872705 100608703 492186690 904044807 372809600 610839871 376793541 757094098 667303577 231413624 891953030 938789525 574147337 502149811 997709449 215080849 297791191 511633705 750400504 349685566 572336943 547706567 816650316 337095876 622207017 116790474 664009189 426658129 192886917 331998304 843127238 338051504 731892885 652659734 960347754 624649029 538755253 795409182 557162645 916448523 965463707 137563703 339899541 817691569 526741808 759784064 914997340 554610550 501053650 270628269 974425542 909582008 980784423 321525071 484947689 363833281 821770894 444600547 991654262 992876935 655596618 992699443 614780721 218368180 472873191 780303942 880567910 122253123 261249865 545576069 134583207 586603384 436218298 436742077 503959230 215593414 412061071 824447519 962643922 685464082 188273034 208332050 942634523 981984917 717262022 220334295 299119553 740549994 783957175 785786878 768961559 724917300 776768354 952002765 983489479 487926092 547632019 894882106 482768078 507379723 874388675 796089249 469780619 319266290 415887520 748960521 941847158 926363073 572025626 909456929 504297210 535249732 606825706 616024433 571073600 864914616 258427757 405184372 171858360 402584845 772139091 175294823 841499225 486727550 343323553 491086946 672947561 229881614 739255757 797314954 436237849 169131640 149670759 593909107 592638514 685688780 249772610 302596812 254540716 846699942 114733274 749372471 184398724 666383023 619777460 558277927 534695487 508810915 645530840 159562299 393525678 181740159 457651958 495927484 782905763 345988917 416265960 831808853 707139366 672387977 632803578 545746613 272583055 422011944 678508903 475886432 298203698 831099379 186405372 905835511 667281275 575904181 640202264 643795117 845262583 881262944 930196977 945369708 405894219 652601704 351836137 367559736 265094886 796854291 853563421 506810457 889450580 843002590 660017747 661235967 317465542 595812493 504404661 868806360 319062699 886224030 468410565 934626770 448647047 510405400 181988042 565556357 618138589 213520281 186469696 223448081 389872409 370938711 687015337 683059692 109637091 793296154 627038331 997297950 933202491 940042228 306532520 459288548 203662240 728330345 243613117 887774645 820750240 522952356 784618011 970105054 145973833 980611792 472406141 559737637 873198073 746178813 229943808 253670289 308744133 551696044 243268411 899832627 806370824 240012569 386930443 686466305 282202307 998369665 187571727 948827302 304816729 329661478 644575000 883128004 285304861 642096419 409193026 819582432 687585249 901437733 440218774 967386669 780207056 399927834 746071332 964534278 213122005 106997392 214957532 663237649 104544954 631738762 206710914 468916154 150161457 795318316 574784942 933674701 617348577 526133045 115281146 824732266 420693817 441120818 871577403 146227698 253934640 477240573 897636090 899739759 375769104 195150104 611191963 424942780 496822703 794155424 328485049 861789601 595665096 570014405 375100204 198487841 208799179 205928543 580523152 748344907 535923995 314915919 124137244 368820888 594507106 995101275 146529177 683512507 389451151 512174120 300789966 436991219 763805890 303388106 906162166 523820867 721159736 865799645 362250456 871530201 879103282 331404803 296219927 752456455 482961340 314846777 946153644 712286611 493375528 328100890 858646508 898231039 827027094 982136483 385411005 709956676 243879469 742346163 975173537 143138673 338891875 539226366 313662876 864649125 631257384 502561696 129510280 808016266 552462649 271753949 346993118 850538616 524124718 687749452 173293918 956051138 873419515 345057389 631899018 630281592 171645753 912805008 278422678 539714385 385280907 225959999 237273468 437761902 713788210 825439046 469215553 635536542 491963770 593895460 305682767 954074129 437957913 715183100 795410521 770272145 304215254 322074189 716783445 506886240 619431444 831455795 286363369 408338012 827045747 131644091 832140859 234112856 362234916 888656564 879512025 391296543 582481688 777092515 125545251 231327447 161387140 988114345 494634598 433449617 474269337 525077180 520871155 979054127 814478151 740483969 436407111 444532933 623787820 452835321 522891161 714778429 558700500 396895614 722346673 602504672 435431746 963615190 842088758 571186570 254126611 856670273 537773339 264894131 483115078 847879312 855666085 728949398 609874470 751043779 821244916 164589551 644281420 174403917 473937296 417195111 989656309 124770076 787723655 224650894 295635784 763785919 767633391 966881528 540925132 350923111 765387871 714387786 928049600 490275901 213708997 429022681 811123798 799144008 849695144 449844928 541528821 507409846 897101869 566289743 650892542 152264325 727125453 278034178 938083103 557729914 743689227 739756556 817984485 427329402 993588942 710448966 782426596 182225285 913827149 745097668 339482474 962957169 997496495 249506694 466677316 978039105 369800101 842650898 773385542 272394613 814324347 411338813 325346616 142026330 816520978 720448399 944757145 616995870 128913997 188646250 540670719 701546554 442481850 703784139 916531221 438543209 377184130 293094575 738400886 278706727 827067657 253553094 431263485 743817187 353363808 489146321 920294813 786837693 240208350 110844055 995636915 534669789 384846269 713483021 758760933 768412140 660446464 726413677 133648898 983419929 993547912 959295822 824458492 619784291 834065283 214027064 385016945 702777945 591536700 991823295 731094710 239877014 254158856 230083524 154472653 546450489 577609628 346353126 847542681 457480977 970044908 136464871 532405048 958288506 784539702 805389473 306411425 954564971 710187210 494069401 127193337 270496451 444597286 226350714 320232137 570009382 497174510 948398396 341533972 725605174 991845313 256411639 217570396 628747796 507654243 530375289 345445670 295805808 187663134 653105406 609125324 162554094 594683097 595404081 946337553 554798370 187826948 381846674 724464975 865459176 512162197 350535161 880728108 449485817 161185734 246221051 507981441 163974868 163957462 563330014 650409172 266147832 730088759 248845693 655247648 651299802 715947862 815013381 752357316 923686584 710152625 595729521 857303286 349583097 296024426 225774371 575308590 623170725 870354781 371685237 565351176 626658275 505667267 879305113 572342150 942410779 935476363 329712575 800197476 922991588 713411520 813751356 260578995 233785840 492149285 826012481 761833703 406339433 534602701 459611861 414202160 402554091 519725847 553644475 990935742 702349181 932927724 490613265 906988233 910635874 345853166 304308212 321154641 372255488 288500407 765719572 989306970 466414061 210751167 946031325 202159520 394714423 434570864 231002636 135452994 973890264 574945732 640396356 940903164 257861908 638704211 997670599 550541457 893478020 749073648 444870981 414704513 760469623 939737677 648902435 869532684 436440862 146861375 475548095 295776550 601175342 189296654 777890025 147755164 559384704 829180988 569857394 800614392 368977877 988222208 535026360 747474365 773868111 810360101 306048226 787571433 138410919 647662804 469864282 521456088 896661739 923920158 446923405 114359456 861307407 311724367 416691194 875607986 464329515 394437976 961869219 116129853 782474847 799027493 209892523 249264841 903359102 230047499 934573629 340364044 862008387 749512420 293252774 705605789 462093256 703688401 114452138 672987140 686617081 687443181 154456051 399440807 865643816 471045591 884581350 416668706 231634099 145497495 454039669 871194556 314655416 617768208 113765984 995061131 604234714 773980895 984026085 655171714 966448027 345884027 591405654 686955635 168314578 534407861 653747941 130208028 334054646 580353085 846614598 515879686 694272571 196715893 715483451 907324989 898910682 799817993 115480580 367795416 944665036 593423938 410595268 171069999 361299242 607950128 423845154 204839656 973101594 950960038 605972870 603994908 280494398 878288515 143999638 760629767 392571650 307377820 928159670 483557630 569139862 372824248 797794012 599625609 677618644 549928069 111040370 887412361 101016540 611795426 950081712 547127899 786531221 943954245 954798373 832427792 918169316 953803172 909332940 872752685 863905518 352219574 686084347 204776831 471355500 400200114 539759419 896732364 955014692 270346696 708941736 547103202 180466967 273567332 792344534 601533604 132584332 700684788 115473730 199866314 518764182 509322624 472938981 834765227 738128657 510964378 123765282 755857360 879933415 186414612 979807892 637118706 733197205 982434863 514322905 293667584 872992269 154220669 578811835 781941109 866716079 732294471 386802540 374015312 354830767 414553931 136363558 143659952 759953854 464109239 803327605 286844359 969750953 494341530 348673884 729277010 203983598 680709985 872974147 655132615 899656470 332047096 308440013 173428387 820018314 992550850 615197590 318302476 348888649 477022994 925923578 150731998 703579988 787794064 643115185 449820111 673164131 627619884 730579348 691448396 309714166 411000084 906319977 296019545 230877507 636654217 472713961 286472644 166183821 456599992 934311961 368983690 768591483 289536377 220680210 174894625 738482181 301565440 782094646 841681663 807665410 705360090 293477253 473933726 328915021 227322375 887147570 801556212 429527683 911156154 959806878 837119502 270544530 281590421 302014795 654054104 791331095 251400032 520704078 412723782 138058019 145309479 296028810 192901987 419429657 470855244 713171469 722685313 807637272 115810240 229835567 152160103 922875481 819878024 884787047 290872085 498827529 506835288 504281154 256407464 637199243 146652434 544994059 677353981 291378197 934383331 811087832 897908094 208520365 374728913 467424948 886357262 650304183 554258044 893259318 249125725 716982466 673827951 661366580 768851072 993271933 885236651 585991454 320408801 285947073 976737584 434435428 459519415 816991335 562008348 860290283 850133601 843833360 768142550 300901954 427704025 247208328 146669457 982867389 580410651 609905851 652447017 283499639 555184560 501914467 413400531 359360019 970296599 734644213 432410153 856014617 563918666 481969151 946280760 853157081 478382776 964661298 258738053 720190010 125115151 959346174 695188088 567413592 459336905 398392147 960518586 895139924 934025689 964479842 870772943 480256543 110907821 608601043 689800256 284957237 813326576 580806306 635098753 450179875 264063209 813298462 223152407 109853445 827752468 998850838 139467161 500991484 371698498 664259336 116278054 311504308 758249002 516146973 940885014 787807613 147876338 268583014 993675267 909299157 664758542 974174876 673350774 266376932 608505875 420749882 142398119 794261503 901874438 897370964 828501820 434456757 252546426 352152491 269637342 346900466 755913970 197179600 823180666 433973637 896239845 846384627 274664845 562030001 826612854 591049849 111538039 791930441 471592984 177243847 651469231 435594471 746795362 995318958 607839915 639513297 190014363 270236707 127215440 557300600 284511722 688704466 220735591 604192391 314057458 262162120 973856791 739790266 703243694 368692633 196652221 753174722 897131958 364200772 421993552 515478333 694346794 312139420 422396402 867754279 253440522 913545473 475202596 934167687 839532307 888415865 337555461 610096121 392167457 648703091 780664941 518787644 167203034 301856503 486353696 354157705 941967812 764276558 730310114 167943888 117761927 832477259 486665721 586030323 901839026 672470860 677674702 125673602 775516922 190403727 622912205 378799713 129674902 863895236 338226011 966859747 390143213 723129435 191038790 755372748 780900398 442766304 918723526 395059119 213351662 433739213 911166333 369858739 732547475 796743121 730593776 998022169 681234448 542927135 872822125 569069268 470290947 275395810 145810727 908534673 747456430 126355579 212659983 873697651 918749553 965501479 873597856 747203193 583946126 814619450 820833573 319652197 760750903 376560350 127955596 644792115 975831767 258467901 941472731 212424108 415916808 109422445 446954013 327346277 664783487 386028185 999858692 842007961 124150963 356896599 979893347 547756563 681734892 224415658 241806762 941945404 766778820 474784271 184741989 718008764 343492066 645103340 911161863 184523306 813228798 471151524 392788069 123251303 494392881 539828090 823075803 399537351 611310799 566886220 591831932 908919199 639606601 265981417 172644796 413003414 645690022 269539993 343867803 657306269 862980951 917386502 544407933 697479365 387339992 450033076 471904387 807870480 282861215 530837214 224257001 499645197 232206696 330095639 998877299 560317075 300527710 814424930 603219379 556297984 551096881 821775838 787897456 943693462 818592575 169668582 895665558 338098352 181541461 642689090 690071637 761868752 434500838 642752641 731566421 520436023 173985968 415987327 150598112 995654962 624504828 223097839 582526771 732862012 154879237 282552901 571552579 943825704 287335405 394811061 725411549 964755050 624771208 752402856 236556765 879980183 454696683 539002586 442028382 171304054 805520687 690079990 300472865 196572573 121030702 506412681 350618332 208250199 961757508 106859168 872201521 334809415 786115350 101152937 622197196 156048405 432831616 588249729 411856494 711969373 603597706 290619503 235668367 100773105 247167796 406637627 728974149 225121401 851534620 932638642 609247276 914575441 588253967 997392609 686740442 926594483 195311690 177109420 857058224 252994422 599783631 493406876 754846336 603479062 503326771 523642308 715809419 986638766 408742093 129817660 338441737 861772451 565805249 610588450 764894099 423101207 474913565 562018284 551809259 694921434 832664571 149100654 155298622 478408222 204189414 865505200 758646827 254195957 666616892 993599578 756625769 490198975 977116018 577487245 664857248 639706258 935513014 471148985 974289243 889019720 545188008 779771690 988310443 843447746 716655345 687524311 105278067 420753211 472359284 343650094 772726016 696979687 402957121 341197144 858612479 398441761 641936347 925983229 758918517 709334095 169557591 573455801 116389632 255234708 324799422 419478413 906552593 631083364 171111972 963077627 896231560 885037377 616895305 164509651 261465520 402245003 829667897 756642863 196183087 101251030 610558810 124226717 941446554 423936492 243866599 541902151 403451863 980930662 149259751 194748716 227054801 841151129 260674787 891520046 849096662 539920311 493657178 241417764 345148183 358437894 127565467 642865027 942805499 588340605 332510980 513160579 361507391 555331355 231628489 134511675 266039583 663994205 788631887 196984585 776740026 880997235 508926879 890737932 241007117 482594143 761971079 868264001 355134849 897317356 175846630 548793316 826910778 632604441 322989388 528014022 431859003 300234108 907419258 842530571 664530342 670696964 273771016 747473860 693843251 593306089 383243325 629865710 296523797 152448471 455628731 931532844 338106026 433434914 439502958 479060465 358474511 196698701 796694267 975200228 742297283 304728994 223049785 790424473 641424355 737543186 256763363 248436089 710879190 980187804 297913603 118285889 149914053 959904461 750223591 943487534 168300328 562562697 252258799 326856221 671440841 146919939 231067110 531737035 976331873 856245957 853352691 515600754 124326246 735285163 295580897 304818217 305180824 710069340 445525824 820720083 916948219 547556128 754951164 444505212 185947957 885563473 448738635 971270835 175391897 942538999 982588321 748581840 126328844 560568376 886805533 784975213 108328962 198891011 928797781 671668123 690382674 174619219 597608179 452722565 551907460 654409954 996567696 889658936 467704892 844205945 313816346 883149750 294206665 500633615 591069109 497428790 535915096 393034246 782892890 505671654 277648606 606057449 900917123 272518037 721583073 539936304 522267010 467670774 979047714 876876169 229071204 897776975 829532888 272881242 644648409 894226244 680384077 749092592 214245866 132721798 402532227 487189080 269524769 123028024 699812984 795609013 360483454 826130023 595579293 335548898 412422163 821915741 933027017 410146291 648012232 656919392 302556155 265721665 437524639 420616176 965819518 196174073 589583058 922580858 349906990 508698640 541250489 432497603 275569632 760803810 693341588 402975080 426985259 884976853 589810228 788476293 315592585 952219296 163954843 661669452 663942737 130469975 115950436 256937164 705412930 450158070 539703073 595303684 962516022 778406530 427700492 460690284 134899447 795269001 544705345 331044919 307648675 532438170 796675059 329147344 888741433 241767896 943143274 326856357 826378751 382236565 520734543 267115422 145780329 534564523 986850803 448329122 372606336 551401456 717188926 671989307 278348517 324153569 737619136 997182085 179500848 559359933 686014797 216739496 221333145 372195052 946378753 374717567 363931886 581543066 951222131 672263340 296625982 333357637 506429590 998953114 739798690 149584145 335520852 386201924 445256258 632501820 376554414 690116065 340942712 391727391 586904311 360336466 752141205 718846783 108264291 173588941 480626870 420887665 678906369 212699722 709937494 386173183 465245126 560636138 201015364 562385954 120125188 886996409 815647007 470730390 281176283 578463827 550484162 503942399 893889850 798644105 569267114 313721721 219675959 704928065 174338281 373569882 296990477 587394422 377977924 387538229 500096141 196874177 371192697 248906488 860741374 662615053 961145943 496630440 116092295 370276427 705121989 539208210 642702428 513292829 351626884 584485199 297171923 225114176 867399261 388485216 469673275 400514557 228028177 900935162 940041320 707910122 975174930 556272702 753458729 664296147 973163986 448403535 255305100 547550795 542801608 656140940 978026948 448000797 751378102 579208887 864745495 825196167 920898274 899627564 112355278 768808049 307799410 198686776 366817918 548322901 505100647 285308087 685336004 251192201 382986346 579758511 339848939 119876939 796127114 655496745 187739329 824087066 484330511 819787398 769417941 496119471 107526006 432108463 188049603 951921264 747632764 620216690 490742002 223837200 497440722 845955141 116380472 537907180 483735247 645719387 352881406 171036069 695954607 229398711 801284097 945131503 452951616 642528338 342226361 110712503 516219357 212921880 969091997 139105233 224428161 404973431 110110436 814238212 425756281 946814841 177361251 603878350 890496857 700439948 415179113 464906443 679985134 621167633 460110126 424862689 619409377 941425472 916441251 550598044 861042263 310892695 689069166 782780498 906053688 909427837 194403719 940787959 916255029 876183803 456748841 261498749 222693179 107696692 341509878 305870452 729950447 645207978 563041284 497965475 562979516 523719668 949770562 179117913 374960733 161065735 586243575 869220992 436389070 232156637 882085405 602252019 514312057 641372102 351341567 358273857 738431713 183093239 346701790 564027456 527332614 244138568 627871873 665043242 169051501 682787637 825155085 669131204 435760862 768349149 605324165 123761112 557597191 364708909 553034009 527814412 164465333 561333709 527703805 862945458 559392818 831507347 686959971 539038755 101664698 470016717 991601452 252759945 130136209 751565635 387902591 238680892 118717598 932903881 352581295 259293184 874122794 991220077 248605388 548391715 528598684 960309882 189456915 343494811 187847071 602133068 220434854 138539707 873697147 572337173 379574570 689843487 870298237 304595716 345140844 497952145 590733754 399226102 647293857 602788770 849708593 749454617 139684957 340904063 567215804 423401821 759043333 997650317 111723200 779471497 494203542 591541798 263170639 385036727 401196380 658895932 950985716 283546505 716890092 862195989 518003886 644849277 838061257 928714448 300230983 361781017 175825700 348915460 318556109 336726068 396368115 566474642 797739476 485327411 160274359 744886256 434630452 855318192 401187622 498925350 138158817 920952777 722739729 453524647 763939050 272783579 510944903 922485559 693858700 676068646 733584511 491993395 572592770 260903177 409657810 238520029 450998722 804162710 768055037 944897900 244876418 924010656 302439209 547692825 550606803 637375250 339227882 682173675 380573149 633181020 178051771 424384415 525389259 440734949 411946159 340878719 262265250 504025680 823258331 215316375 497711438 959058662 903851900 725989581 118853388 400474767 727599080 463909863 216650056 145216001 845335687 158808898 641703248 413307375 840275459 319226001 471460217 379223109 151860024 102769269 444881601 476505419 160411352 960528998 250950601 657804649 422784760 135852280 412793463 733859739 762184244 823761853 713750523 673649015 440209818 858498015 218274689 543241969 587017016 419942975 340586354 716378606 641252996 862331033 548891721 916077971 617375721 995009815 636106551 755492683 761814901 629872340 870568073 156894073 738042523 331443403 255456772 615926641 650285381 560250400 420878197 901430886 394780685 103637899 590316554 518174656 849415069 917114603 754937696 327480241 647397958 241427898 516164114 144871833 767547658 430617222 330050094 163782463 466506310 754105068 833956208 324988436 289387607 699223510 133909161 602061997 546701422 641240964 176713803 771642546 940232631 122434842 780301517 100076062 352132256 140790854 492045308 976750009 569149075 347890719 267968267 541030218 704591803 691704596 573276812 915096032 729640161 966866904 585483041 448969521 493167979 650073580 802394678 559944223 490135440 599095610 738677911 295330368 998010469 828674029 718112364 429063007 456304765 808335459 173159216 309636326 332289111 536076205 592215869 860441440 216822412 920162731 396684836 939482652 131252778 506879803 254519959 275921692 236970141 767864633 570392100 891898938 205838966 439256861 545581563 533777485 557225666 690333543 796632728 140869522 322638952 861908101 418419862 127417523 244432595 290466602 240152023 597245381 936830071 500072475 723732064 166866216 320401746 429200833 602636357 213085577 858187793 901200266 622729508 749003295 827483184 904364948 140492383 985462156 280818304 190977696 889401823 251357848 882670421 127694224 444258007 762089721 212255601 741180727 339478093 208043720 795255054 904145166 129318957 941854663 346637223 605962334 743829883 405441132 878482350 859951179 380247312 453776446 675162277 674058267 682890176 205425262 115477323 587456693 541119833 975001507 341316050 457183555 631187282 732078014 298833080 543831770 490679126 657921789 895283108 152111408 148438443 634511120 221298043 468196433 848852727 888103469 605754271 159709681 697978332 782593896 387983685 743941450 351314433 641493888 680150926 323429431 377230754 635234038 789024948 434952822 643508756 656733804 627356734 694337611 369154931 281209745 985306942 118309494 394069332 873289829 198155805 406343967 141137383 247167310 365173277 903811468 310450979 572844895 821221606 313504809 160526383 975060647 142205398 977656541 509777603 577083948 808859896 842884895 948219830 247767686 333381986 131519457 959511510 533509103 593044203 554018708 342412421 977281238 876395192 703470784 946794548 451561702 192080499 871971102 202199995 484087438 959281311 435050072 582481098 183222956 836420342 614186636 748903478 882146587 742698546 219777863 947615386 644174543 825342279 559843254 948831274 377242654 610557172 156383414 614307555 706300224 250952122 584609490 399931795 339126631 910628940 713232532 390602034 177857351 439545421 910346605 163716483 646412031 751486197 847655075 659320719 782849111 874721879 890321769 200420652 626564716 619353779 451821552 379834497 836699589 402018936 763128384 745452233 882257645 464169786 953876079 123516503 165163043 695655439 378880182 379713595 440804606 230459958 959747665 292802840 476488890 210812743 995618780 803329172 521674175 335725331 819025303 862194590 450097953 825651861 303004419 982541409 974499360 996906134 243557497 711075895 544357608 150905046 651735702 593546402 268856192 919499152 595643655 554262354 248251570 733471634 131485402 953323273 972412627 206166287 944576260 364591818 234066023 934357182 226728512 478848550 797186232 818394667 879684896 984077781 975567385 362550474 817765280 719705142 301565349 910816232 574112110 113685853 561207579 993592955 284100210 759689275 134221848 700785486 990349651 779079227 715679269 881931718 867619670 606257859 533350179 506174440 552708710 892285095 212483160 912532782 647346951 351575867 378306871 686565204 615814550 383221639 194238533 209331807 295705169 335373659 904762350 465987848 813311214 124967195 642411192 525850946 933419989 968515063 862199522 760749406 104420897 622603706 689129520 277012966 122923243 613028032 676455499 217035367 132845713 159847070 828210358 889487328 902863188 406924115 209991849 963477067 943064430 267116112 680558239 346177369 412699136 871067387 583504740 983671085 195110744 392676434 403112683 722009332 929990179 138270678 204220486 308684435 440306597 782529798 426542677 455233590 746148363 401700419 392683283 491238149 387591278 376674571 827296951 522637825 456015457 994041313 149317774 890751050 962965315 165158633 911620947 673540931 916781052 642030106 875636415 497786583 786496535 427706860 249291312 570565529 304083370 947544093 539522697 948562030 182083110 110804012 240769970 304977298 121803926 263482398 535936319 639367386 441289609 746665412 890651768 206770421 183414257 878628589 563770692 228827670 418190069 442086465 790967552 555071858 559790800 784560059 861722848 410691562 885352336 172847867 602907805 652580879 793404024 276299918 556901519 253621016 111696481 488837045 792113197 582813350 821946268 144329301 484857838 895670041 947317097 970766947 900461241 175784207 110578155 703043701 330512793 943807162 876029687 915912532 414422313 816122682 524113736 928674172 113032672 282193126 520004738 654265480 336686473 241607873 980963585 495016793 240066161 770346728 939020213 926174665 806152907 412016855 531201516 952251021 749012209 764469562 320241346 258683984 642060931 419757577 268921460 642250470 683141352 572686997 686409282 647773606 697023049 277333245 459333152 751297591 273043884 616336281 259434802 137541236 748485682 607699406 983130302 311958228 938975583 441530793 179737474 141091511 398108362 236872305 247780385 604727902 441191602 161394907 242287441 994995822 298172207 998758290 812937394 789534736 572173660 336468488 142478776 135428834 522180535 449308121 359046911 181878673 120074657 391028310 773763875 963605703 496806200 506444858 841384237 806124475 319893906 956747211 475360894 270529954 996900987 991823350 991024739 173623998 728164831 295373029 368055238 583814923 102026077 426160779 893863278 491120393 564510738 922116461 444864165 435305029 582980592 546419329 788180729 853999138 861609479 217008224 862218362 787301539 944239180 700831995 566552606 972145688 230114229 304505323 343196707 218496791 684540393 904524015 514865469 318231069 891339205 214918035 801892445 149029852 131949265 615030147 427262854 236846004 443879168 435201283 686219185 700940168 387529002 246182731 568290834 229218527 736886862 113968077 375632071 585875283 407623743 767758859 269346562 630824757 228708924 138173421 492434906 304407042 336156314 254950503 807958672 647657640 614317720 821567113 876622646 452974683 857077648 338177284 938773411 811979301 343622404 162830774 813198382 108482002 910668417 315503845 276637226 617285545 605743878 383417976 912313378 304474484 428659358 248512525 237547298 976308678 636460098 899138022 471458364 751016079 202777644 463703687 402936547 823227860 357179143 525786218 481694358 270682662 396363975 304389722 153398323 864908946 854453505 255008587 349790562 996334120 570329580 142136189 300087519 917835171 179121932 978671629 367989297 606103711 256260527 370029724 435520859 250953519 320112953 967180448 262976421 435418454 233888565 160460080 550554297 178608043 144761436 478258641 364417577 305102302 379738829 761126102 526505460 170603856 761176087 433686220 745296794 946086405 748603090 407424026 707025810 928156888 525010274 148994998 163869752 557832249 426785681 409370656 351934224 804938897 492705398 349133389 447634700 659226875 170721894 644733119 816874764 632343003 170411857 851026296 132877232 728023440 531555660 266063721 650595534 495273102 666737741 548508965 413964538 865177288 852166773 801083190 638486331 713608152 801229958 165023702 299723004 834630004 629015562 219186596 215570797 412220336 944318342 548662078 194465375 702226054 536618107 146913734 551279552 880818193 118396277 348198558 592093913 978194358 369358385 477449395 629316691 379130333 174217939 296382221 894555603 455381105 770210419 850605676 123876797 359950769 589295421 880764319 610179938 450143351 346398630 620910062 701959106 490608311 668394574 648685582 960551680 699962081 603952585 139907101 545670188 192145108 945140766 337869540 899642102 311587020 660960320 623269311 200855514 223562204 891953162 171359022 769876863 113744448 553469470 689820877 929051249 316223131 448155004 453153343 712804221 220995591 431269145 660069269 895308387 825031509 672707627 865710456 780751941 556685706 679489361 532270830 177620473 202299410 922220635 912427779 746755876 864634639 576293391 615660377 673646172 826220739 968229581 505162902 375195408 842914590 335718233 497262521 330192334 194371824 270084714 337807558 829893868 832065535 408410288 193619868 947088389 865960502 266522047 629874350 591325072 918635243 388307855 532933313 426561455 864016716 910568465 353845734 477138787 359507303 168547537 189434928 558624273 284492432 361905462 866299440 853724459 747392520 916633723 377926671 202971550 124943801 115500480 239981806 675709990 261252520 249621646 256948836 830931406 594556704 374693614 707880853 335578458 499422949 254572800 721546057 907694089 740176203 707015955 842038380 335872461 221229442 603134571 537071799 642165831 457655524 339874034 884655282 225979390 126485053 851568092 129878698 624349584 657067389 931245266 983953249 322469680 720694519 976456614 301183894 878426216 471772533 523627047 564491652 538269427 589372611 935438667 618960973 180763818 436495213 796747102 330944351 974707745 608567889 745062850 936349893 141226473 258005493 389948412 558020076 423930271 691414939 308046371 902427123 153572491 635477853 476438969 798481873 125081913 774599090 946157338 540792800 828538511 728037165 559305868 979226113 155821282 741747332 225780569 428489526 153328091 694463967 538244981 810863922 702497829 307088868 590179324 418290016 273525886 465340261 237729066 727838304 320024151 560650647 269811310 748735529 355305439 539657007 544695188 938899522 199683025 655270505 134511194 821537915 692498024 316563676 921183845 491929586 105779795 352617089 442597334 385522950 489979832 850029426 760313074 880610509 463324997 804237370 605248987 311887431 516993497 502538673 431947519 572911282 398944241 641338627 659294703 537499473 832956818 375929474 359325967 131106165 859164263 269251269 829572963 722332221 974924070 393695624 414094745 197440797 893345593 779660460 227364722 984796344 521750733 875377204 324890365 991996007 262972774 220000781 541443767 621293382 460925152 380690847 825279128 242509643 860266108 480441781 622257631 526891790 135888128 361646766 854848006 254877172 890881535 510694221 737406651 666210074 387515224 571111114 382969508 460138174 443585164 771633036 496312600 425702407 637958409 516658867 847379480 634802231 833057607 937796957 202240541 963236742 612347199 600665922 802326137 508289141 211173403 563647532 499485814 165348354 885427200 549757985 497423006 197198757 261260483 129520577 979260988 662140118 375279641 959316403 284297103 107404672 373329692 265835749 482313598 620250428 884341714 147041818 316024131 720424852 426102200 204115859 545741555 753068403 973539263 100520598 994556354 539189323 807097548 497051953 987746207 599639285 472738891 543262216 242680235 816170650 106226671 116452508 475279053 605481730 170835800 933468196 597694682 642272755 164373961 795174269 505363176 914319543 840912832 164901162 245986322 252472943 328891226 973779532 238577368 648041355 334403265 467958028 371056387 619223444 658329022 354216219 239821864 501267143 532510370 847320459 887178855 453254153 757942341 902991460 567563549 334546659 770343161 912822444 113669120 815555816 794387281 901828514 482271183 841737823 506197030 127841823 797898072 614719394 887391510 195211842 109003253 182955929 151987060 428823751 395732846 770525528 672657898 476402180 836736520 757439159 553264915 560024374 970044957 106890826 956569995 695674743 712848782 692695159 891633073 516141819 557907617 774547848 859713250 219497901 274633396 406000105 933997353 670295011 736621919 952492110 240310625 375103060 528343376 205652655 440475762 180044823 176978184 874593596 778662654 232448746 998957935 421525903 564942762 765218774 320127423 230378650 380839305 347337505 823041741 222881104 709428862 672964784 200794084 367728806 415143542 725153843 307862272 990155763 219912567 562775937 403305713 383132940 558289490 724520997 838474748 511554432 388322025 514279925 891122836 686374376 598519521 298050905 902060119 294317503 145384759 985663730 742187434 970987982 382319212 408468299 108570567 107239610 911198548 301798929 776317635 284125088 410712730 471961470 906338550 467996554 531167791 359227645 746978727 673181896 521652273 618892268 263539726 246962284 173849817 298125440 537959491 959813009 565909193 793127587 397642697 169477036 573787318 882890619 343097764 157422904 786891650 856208528 383724107 487244578 449374418 679227012 631024925 382452209 782624878 356579148 834950512 654654955 958629706 218771576 530732340 289823984 237189958 395742581 890511571 907919685 467214503 235125874 718075132 726259906 284454277 880604769 286353781 493463345 301131377 593642083 618758526 928046038 636434035 937920798 838716733 261033797 611577638 350197903 761579568 387459092 139272387 613298440 757130953 191802740 814063254 956504713 719124840 970385686 241800031 249879518 536338788 293907451 157696057 334363405 910784338 327054008 544522939 210617922 637983609 395437425 229626626 203738818 642789314 380733243 274745970 687844743 112354466 345829012 703859799 119641146 474605628 863638893 617659869 300371377 800357420 592390885 224786201 721812496 916936040 838103940 351467145 155570136 807930975 734626133 436631379 478850413 425948367 629436806 486627000 608880302 869969009 932536000 460255122 709755129 135969138 113541536 139630890 763254993 513423315 739583169 598419011 678681759 528830844 275895433 698516169 978226583 147938237 258898399 481701819 616691530 425550102 625502520 381203495 702811147 438380670 809188176 774685195 732479341 951263330 937480231 949669022 317055236 632186033 196094261 205166271 199497813 747895008 668705359 173260067 493690933 636371579 842689920 285819479 770642351 505444434 980353008 630897968 928370474 274343936 873339183 844844585 357662321 749513059 852931206 994378879 562944160 775942890 427157040 736225806 440235496 656030367 351061487 229335129 116325945 331197685 434410931 272827101 414031128 421461216 486124423 495226487 854344479 409386259 930145184 826637230 104437991 917666390 877612421 665952748 382379357 165986969 551188710 997171801 546896250 468462648 153144716 428519509 496209509 258240464 153974637 714333471 513015224 792700553 508090268 488635955 568593560 330593570 654387185 452499178 710679857 625670737 399687921 136592505 610983367 407797173 754228880 265274755 316371351 348908167 533030809 595417959 723324837 796886867 236074190 104366037 676767653 487877144 146333694 617850514 995229816 204796373 417136551 186640382 361964605 761863307 414866724 200098271 109778627 604608151 242290859 653645605 904574040 114632903 677942438 286156157 616601112 261819630 756201922 868409974 744745790 261238921 747076665 171865249 887700996 880848765 651323574 156283135 815253203 595458184 821266005 474149767 641133656 485757491 542887453 422420991 717423520 935922981 174735078 746267950 515079607 142390042 612313773 134599254 188635859 692195084 731684137 274521128 476166356 520357696 334108393 438084632 873807858 647818600 616597552 707664195 495089831 197904542 926475977 513557878 227206136 150661359 311143435 538383575 272928898 947000854 678320177 182246459 743859747 280272791 214988272 724993750 479077607 234571036 133948037 349756994 181260143 699235248 806954605 209948247 924998725 487840056 682390604 226469633 624284243 750326522 661083313 782783429 586519964 927086744 716633593 720712481 704700606 475581774 266955771 839805656 248210198 429633377 948551369 258025751 304933134 864151472 564646121 558094337 114322483 546513414 668898564 493695444 438990350 531796703 668572568 708446070 167152078 607328384 118980701 422587332 150029031 847825995 554840601 844580099 450301914 562078068 536759333 568309277 652628060 404949205 374424892 254626390 134763504 167180077 666476947 731949532 204418960 294260307 570191468 517975462 457050015 856830083 534890896 401069970 294859884 689598898 918742170 538584717 937966002 168359517 668730205 472935292 477407849 759444169 545468860 503157894 861911343 123405563 774793477 583173857 943900362 743264588 778134827 649187940 973551746 198149712 769368033 260345728 319873300 955089803 379583605 424275339 351019274 290674986 733244535 621475080 806369107 158117468 949939536 243898731 962131005 565616513 574954600 812776734 212736770 278979923 600406746 965282395 851665387 501155019 945355914 392127147 481739357 722205577 314022866 714573027 383039781 280599318 990642931 106634164 579987904 253328377 903638214 776717095 101655528 680394930 779829492 523450911 307023414 712903728 797646958 138754235 134514110 966060259 577103932 695627148 424782141 712463278 792834177 975482371 903141667 180084584 370288853 714109906 808759892 946495053 646230061 274201691 885049771 626831545 520900360 160061684 170337496 873736039 602418463 943545456 491707883 570901932 129086802 772098141 767030696 368015144 840534682 406790794 489868865 731545844 311039424 920337758 877335597 967818307 287377355 435970074 226713066 104748187 498233179 378171533 688287149 205940248 200794892 245504969 387752728 737740618 435876971 307061721 656854771 264640479 255954134 138991971 979960330 635335443 995269066 190544610 763113512 335290364 817894069 883591819 422720037 117352985 139408839 929936990 954353236 748608069 450448122 621852760 927698423 773587185 975931463 718349081 578138644 718646229 559487586 985128301 290567329 651028416 795885506 493005606 405572741 368198316 378074458 947766392 580834700 800637588 371078848 419608103 180293942 402626537 271705077 883421315 332358978 600283996 248092949 417757379 807279366 473167535 436298391 818429293 501552664 526562285 385180633 972251463 477062001 757327417 984164598 668834679 383452157 153518237 463258001 795840331 213410634 627646034 514668466 159084238 333631695 629089497 192723702 163815443 548333546 472397272 433424273 845839600 708979261 932526571 298613092 298835298 575125539 747015137 848512308 682521774 333515809 586917269 848637723 518577820 441156302 506516133 697084188 299522873 599099731 335129813 944800146 996802210 922534140 293877586 646726175 606328371 692226691 819826066 427909423 570469874 693540512 873379535 865702917 614391158 748026887 741511730 465665036 825277561 343062270 634313623 811788281 586805710 621244834 576352142 762565554 209827622 858604759 944682814 295921728 952206394 983135570 441526813 497689156 667251407 935217447 582296191 119144590 133551000 862535124 103192220 224971219 604287015 220952896 187204824 757660997 108034502 171636957 524110337 658604047 724710379 440366384 225276331 931053465 185725454 206282945 985780542 913053296 817129936 734320416 147564650 569386297 646353860 605224827 261419454 576135125 494341127 682083389 601146781 458140786 908070353 146841858 799241499 711758113 622632093 901025335 650946890 287561876 488938886 515819481 152249981 209655242 415673394 340898428 819594830 729119890 430830679 321882424 646411076 753330305 554090665 130552927 824165704 587000380 484355358 137058579 429611152 798873959 310967825 152889335 167657239 644626054 965639294 720425176 569829783 965720662 112549252 620413459 852550926 846004389 967663222 756202516 486516095 201633929 517773753 580454614 232626949 607799798 291647349 526375251 611296380 349079864 765813134 879829156 196025067 933744234 311796539 257602024 555011697 202485443 835335964 745739569 627785336 790154749 482708256 147968080 436403327 229794856 526840190 739567437 896290969 512493050 377188066 567299923 234096775 383697182 727921527 669964676 698982697 283560924 145878085 678160354 272157722 496463579 374777517 474030302 132490749 847130817 223351041 746627791 532923590 594891136 933482152 748647149 385601352 966107135 440621641 561761682 275906966 312336689 718815261 324588105 120231292 959325049 202055521 332707489 491853923 694004037 650642053 513292706 155450105 451396347 441360531 374134369 747169330 943374651 432731107 608354483 312135193 544439763 212262940 956215076 549094241 240071233 274763764 129456859 734679825 706004327 793197434 791635237 366490206 601902982 906988982 728781493 326382777 229263520 190007864 997059777 406169422 692144589 347191593 192893784 277155080 993736833 814884575 919995580 298132398 374888329 279288186 769568134 496012632 557514119 993615484 386430304 371045742 556552066 724928730 336811672 419956618 225351953 132502988 950946752 567114747 909348986 646262658 447023479 386995826 860004268 861822340 266510229 732316960 752707004 629016694 412428954 433322853 922565838 533293650 449270080 844248679 110554200 107438512 845842692 277806642 347174379 587939442 916215208 726137791 478439330 672987285 190801919 188946729 449567534 445166682 323873674 879561254 833861515 963249357 416718911 242142797 709521094 719020146 496742714 418745518 938040342 637891819 440957626 262219603 899222996 276624107 478168181 615349181 923496215 694982811 262400723 424989879 764004500 363886442 424711256 994100033 273310175 412636955 914576914 357486375 151299953 317312295 409140979 817145745 415848196 969619561 579100334 790463896 261504755 155979421 944604432 671456473 239493627 866543106 356655623 244766553 924989467 136943991 498998146 151295864 627666984 614232563 415690419 861069245 943738159 560995920 936519627 580411669 370295671 315631250 571114218 750857945 194558031 703690597 544541667 885377291 956850497 500557493 291831917 918946720 179424652 330137075 496828025 446451141 492818031 919381401 673254431 398409860 427142373 368918474 101694990 419155654 988783753 784025224 272977042 142800311 786695707 241231314 888768914 936751860 223716167 447330536 762257328 648952362 787577012 844957343 211506245 192138633 473635536 580057880 533745830 929726832 946470503 336871963 688713721 783085901 721684133 196273029 868212222 339943071 128960417 395682198 788944439 857269770 542604673 290592502 915856604 103373376 486498033 260971039 210500984 883603357 979147235 712152667 457797212 318531181 772690407 660488496 932458837 543791414 742070095 945387208 806931855 719091324 207170933 933487123 972386871 967049722 807440322 787021901 218492291 643699156 306407787 147338434 571345633 153169645 541919465 440024463 899136747 613604541 851289710 285414365 762197466 574517379 134300510 795489966 513815103 936678718 517179960 982335750 474283593 727915054 412153317 821719676 144228284 978290127 514745550 716946959 193217573 353681301 843421706 472616084 932187404 384968358 665450681 127672826 443376480 341149326 843426875 728738664 459470864 720914782 465126281 286085323 266318413 206274149 307467321 472728331 137818721 986588004 788398774 463489272 708074159 180695627 167338247 492341723 699666727 596600047 464936300 350137670 386794573 319301786 610467465 209195597 142412536 305600627 969648021 228314730 265037623 513608477 593085651 288157033 307943420 589663965 510300479 416079990 403812610 780869578 126317589 922447868 525736003 591527225 297326030 595632030 708670441 536337144 175996051 747298710 802836764 438075599 177862270 970526919 147934487 267056096 653837763 178146184 824656823 142253278 210157079 314756067 166057824 275509103 311412611 857552690 408480380 476461943 329078914 490194076 367541585 999751945 721479570 454469762 809952351 292773034 459794558 220434403 326851173 452564735 493000070 641156344 857916285 680667731 137709482 757234313 830410214 961622995 782692089 925875784 753069659 705611653 808886887 209490684 345390570 218488746 444807212 688393092 888287173 339103756 804242093 370961854 209565893 564967189 513437392 857182808 205643538 329697091 360525791 867888229 817963877 385648368 161589189 492522836 295281623 823619801 913644804 845450016 968288109 513346188 219841771 418214778 827052331 998920764 649722083 550591473 209922189 504509882 848848768 329153631 182510060 767788911 835891800 677876941 698399287 424171569 966952197 631726053 157233575 763442649 843827347 597071431 913291696 570162766 159896874 249498058 108521366 610662448 267031300 636144584 599617373 983851211 483475172 561541536 853156561 227806471 908840716 360854672 624744436 910403609 109774166 470847671 539613964 296711607 638291802 312589825 929541506 949268434 123326116 947900846 804509047 507787071 102863593 551481559 369639915 964917932 553213683 986441181 340172392 571535467 164554917 126411427 127402156 803127290 736084476 940128307 177911406 143665897 975046959 482316507 338665832 726267769 218912233 455801127 429290342 212771499 285653256 419281460 291218472 947394481 421074349 711304253 393399121 185769186 842013708 507587635 693030739 131616003 314527028 118743342 276094318 502920159 845106110 133072216 292038645 912374044 710382194 127228773 645284486 355766797 358056711 469081139 155817657 823694280 700297219 177439230 353593956 866437686 558199431 888527401 353958529 790233013 777036328 856748257 672358205 950835792 433191470 857704924 660748580 405119598 624455761 630140946 592046940 435950472 426770743 415331603 501741510 355094081 602419265 203773018 708552325 394419405 225829796 559443941 302629511 621970154 632021559 191438794 505249900 557574119 612388422 742108708 903059894 139372091 606698389 650793683 377533511 159392852 198783050 549207595 444685436 861317017 766276985 706892926 972125158 698915879 293016830 788245159 384024432 447857757 538588955 107483180 799029554 555649738 483762386 751620483 792446368 288878768 459953793 506552629 596643004 497456413 437015861 981067393 709937412 467930059 928889100 604851342 388437154 634591370 784644324 285256134 435287539 956368608 791258414 779465933 456439478 901450031 403615085 867505779 526541372 720242958 809078690 534469437 808469240 966272811 841588702 718132320 472023910 635517740 733363728 739953117 620779898 512073059 485132189 141424140 278485595 243174846 917123905 114945771 988775903 823331551 911163519 459326700 274239914 667407577 494380089 790361177 663480587 599134997 145147798 346856926 892190443 984774134 925911597 893028978 503535352 616222322 163003928 688946370 602723603 355183170 656247002 128636355 465629169 416485839 337456262 475982814 263398628 124565343 319049173 134105813 466591920 293420908 677756833 957141090 986100767 735716000 731196375 823832835 781991158 768827063 493082203 478933736 131283449 659485768 487420322 367258505 250842445 620071061 738424356 691750481 220249427 803815627 469868639 260705254 667673040 909268191 716439981 879779865 614577178 677015849 654328413 152838915 473989460 535523414 679805189 758622164 703298304 208151857 267191572 639212165 589400785 250752442 409197752 218550356 474518077 821937557 365381756 744863935 495750274 391246286 692347765 611131824 785197807 149676031 937038390 249167035 697531175 208882134 622240162 487435854 893447559 292898428 560352928 762282021 601286334 419230196 659968758 913834542 245437183 384631526 613669686 541336474 930977354 594363065 161396956 475999823 464928865 679449938 531884203 812171717 919600581 324129851 376693298 910999817 185810521 958098130 875807092 162866926 877557157 731017666 718066817 690817644 296511466 514269717 959582378 299275357 659625955 328757759 558550801 657759961 941540821 142081007 391759274 661922129 459119034 588465510 963772023 641036299 953935883 461901042 205374712 333889633 381281896 461616862 170751457 564671328 428858375 740061304 338681870 527350569 514281205 750958954 783154508 561204058 217408416 191304792 175785417 216546879 807456748 280613743 353544225 441669824 940379815 512940392 922282601 925310218 824948757 230660938 143710916 655480051 116673044 171759331 327127106 487653556 228346222 905932157 100513239 795146247 903235500 759728902 947901893 531459890 700935956 512743998 650914885 802249090 289770590 876982752 307139197 396863582 715668381 534480998 616377531 407566833 863736233 964546943 718754177 425632575 126945391 368742015 626532145 546538876 901916690 393602691 453409412 422831689 281213192 200184018 462680608 975722670 321995831 568649164 138598877 895998404 633975327 956229812 667666988 250015882 948182205 642127567 991793518 186263467 219683614 703949276 910175170 714874230 681852473 253579083 603239189 259185214 558247418 112395354 279328637 558325686 366342171 410402005 165324115 715651050 172204805 473583895 379573998 489300235 411559857 640934266 128198753 888014825 960966737 320393636 778085014 781371789 805537083 195284636 196794684 907103790 434195383 764267959 241197018 375818312 310088570 186511207 915275885 954720584 701126864 448986004 127001335 660742621 700868280 151023727 336915118 692700690 628170201 197110331 797629841 411896334 352925364 323285604 255275681 163201751 716891406 559229653 928496762 845044333 527893595 450089579 941010317 313801542 137455749 802613186 539246097 870051411 834770208 801499401 243181529 778656607 555265212 577391582 635638515 489162690 958301738 369705107 408155015 808189864 823892287 808148964 583018622 115763924 105000077 249216281 171839070 742949475 578970643 904716462 287632417 226201786 316138707 531948016 613523217 743012027 996804635 651829846 708381808 768766431 702058795 752519890 621008019 868500284 839538239 516753199 898325687 335461245 306047720 135020986 631818148 888308322 625930741 147926975 919693529 805612514 116818716 999967537 691149954 367536310 787518617 541626395 508037318 386094651 108384144 846983758 717135903 809004264 554161331 427878774 461961208 960210969 118663365 311036206 257093317 503177176 389369427 344239235 359989148 605173433 606459126 379889004 463844198 804277487 886739201 931197564 249998104 534169073 521682960 778020662 917138319 772079333 198014126 451088400 334000796 264520219 155772008 751111944 699108095 678177378 776788840 404289308 258603536 217993167 915896516 834213782 763214170 625563863 253033217 569293537 647774028 502667231 949765660 104908288 657883306 512880604 255557496 262241508 192496327 539125252 643242721 902139335 985285420 759506156 643040772 994736538 428565710 628426407 496952878 224369334 615994632 316387121 562467319 662803249 448122620 889366019 561554787 308849625 591301601 800850648 606484222 139578926 250942859 320874839 748794996 302752227 273135474 211561782 708960362 889104110 358519797 898233731 219106132 374646264 714549625 205122520 921965367 512906423 425925944 665136625 413788027 697824423 764831859 162736017 110838154 464696066 465605713 127101701 681434741 963778243 192762450 364586960 746529125 433876328 325641193 142389563 918021965 296808178 231289041 944929733 709044896 168443951 278583322 986458330 602614350 891214248 865248214 835442506 212900418 673904165 146092327 167285638 376357504 918945379 708717445 161352869 732883882 432066005 370733809 697557321 966906865 357992618 244780050 447017662 233950797 569131348 877550683 919858026 643852406 641509761 180545603 292807590 817678586 982163187 126996677 689184673 787654093 748853380 533622577 972291562 739075734 704776743 624404781 849728080 887394378 678859558 852664401 880926177 448162027 454034856 929516867 974942597 585917338 874022366 787127240 311789263 107259916 669015583 829048053 324749108 319481045 305544713 504509594 191807341 146200744 928999239 883958047 746550363 494131763 614614717 997753242 778685943 476593917 235476180 557220214 362015536 145522289 852208504 946295558 613909705 788149266 658697870 145028602 843150338 651125997 821978563 198866194 264362374 626168485 273628222 895999755 564975979 931476031 266051410 315683228 417997533 760331353 245783532 362543461 695748830 150146631 536232511 398928296 262602016 227736040 213051895 984129450 858009838 350154261 201898935 968560437 806947044 879480197 531390802 762825363 971095857 146355624 673265632 736740830 462101063 912084386 860385298 347233198 256550384 351243786 917716497 747257103 269319102 272135014 200235750 173078432 316562067 800727143 193074714 758842071 950020092 568252577 426787102 330513759 488955536 108544733 677870356 612255115 632159118 164767308 340896555 565626233 980421546 546636391 474242700 355214779 559438797 418372460 874677841 577401766 356652198 614956826 880966462 168359990 747427359 182536440 877298379 285006956 715827509 440026417 448249454 719876166 352639038 924975549 101811437 777795020 804115177 790666052 361381480 841996168 579163810 148609948 640613245 936846219 895223858 328077121 197411285 511214238 499416353 559957923 211602531 777347185 961272992 818948252 968802755 630106172 927387369 382524100 806478314 521531455 477277236 887861448 228172391 134856387 999034432 938556989 304932254 462177766 791513838 988211614 334307818 517899129 741910488 412179019 797138527 694058124 558605068 431624724 138875470 158553499 427825781 620018956 710565174 172461814 524390005 650038706 436080756 772259715 995324628 941508469 824497767 417175300 726699748 876542167 665433501 820054233 509406726 428737472 167240940 831325751 235558212 116767585 544384666 535278339 600983608 515134124 668552313 589755546 824662777 555137680 934129072 830967572 383545758 395137143 280027523 464334670 582674625 257247233 807984581 733326608 516119597 827453952 457269436 119034865 242897908 852646248 424861373 292239046 451077222 356635695 704316102 977983556 865568376 526345694 427209461 566599505 433699430 254676920 700803996 421507945 923090569 274927574 744724164 131532439 972451316 927503009 433996456 984660722 117305711 109659457 957600940 677322441 384676597 656455362 394236840 997468274 461632485 519656857 901445013 862390066 285794506 128421938 448169072 316057750 449352064 182221547 833501294 955436271 750289519 746234366 403716965 987778659 968643319 639312487 319424689 339658669 361579342 239651635 762890899 995799528 901186591 558799257 331639428 755394187 423088368 893564739 740081182 129073344 751001733 940840525 157566622 432038022 917443187 370804411 279413865 539374618 160764209 163123818 525490828 544804563 372975478 593680549 154309911 892321026 249322011 669678292 546749086 384310475 952212586 322476889 624287720 636099016 611911192 678743793 218766699 431861649 267483323 544530851 254935788 717890659 744755461 927727654 575279625 683147032 813737901 238532868 285578790 547461660 130741348 134285343 105382368 654917962 396589761 773949585 577484643 113093680 318839559 643939195 562620830 607561676 104789791 117262264 592832112 402700959 934412902 216428915 559779730 642707893 496311572 752795861 434809327 655496148 714642761 875464839 800852351 313138474 529971067 197295348 968839096 931370223 367466449 515363991 973760306 400630902 121530306 244864087 929942792 123378823 665777847 820861216 251381425 261022087 128190900 314486765 860322660 975908207 942908721 118944260 969443056 357675376 427983836 522256814 421155098 605351181 598244472 320273401 439308572 620565901 634537042 212570853 778438804 242473186 674829378 732259861 339023416 135068155 175599575 878872589 120032229 615331069 482791376 440899046 901113002 915989900 816990797 795244673 941053575 689547052 423329545 646708333 171476182 865122485 152987616 896409655 410764274 858311341 905446801 219092504 738506636 778122395 290040514 360865604 252826591 348917067 161800071 320614511 698299823 499641962 515937205 293486032 330822380 915237291 592426149 414187506 272454203 754019640 687762384 717608333 246287334 537958145 137411694 329380466 701363056 822851690 589363078 745056029 104116961 124664242 186984349 858091013 453034849 517112914 583503977 691778162 459488017 181434865 483397529 771070927 712755402 893670784 733105905 690774128 920922871 972662230 375136425 912792883 862885145 868910493 562827283 168462739 542301685 152117808 857570285 998817338 858061614 276715142 802376122 145026691 521411209 408666075 610268595 237792209 833395378 503216175 499688894 564848120 989409342 841427301 970543218 390931682 409465304 123193879 967673338 763364533 460001935 948543944 690896628 932715115 274340729 265438319 267300806 101120618 232272670 925656714 413891778 267116614 894746985 546322390 305737537 573822381 356395681 336634112 240374015 535842383 804548870 496519683 580396351 640714411 972849277 330474975 912871122 622254519 533837010 383409990 763145203 742103271 886965722 533333112 948305488 268385982 213927132 368754368 278062588 869681214 683299659 537101299 867412302 288567166 394958354 216104745 964975389 696195657 135038013 846930778 801494673 968075070 660956784 378057592 457077672 233788351 983141987 502610923 688276377 409745774 701082705 352858353 194990220 480720518 919864258 707269918 594799145 679255112 665464759 955214908 644063741 851896638 874162482 873137933 785405082 997458473 303675893 841225899 685135433 708944585 430575713 189062455 304050451 453657319 214104044 436211841 372528419 825920479 436544989 974805007 358445765 830822731 985872143 270752616 986343405 440720831 856333274 721670373 345421564 406550682 714165715 106348083 591006684 103312090 283187850 533478014 413456208 266899481 276303228 541678143 903262368 919707352 990785712 700045341 146854194 750541505 506945958 580053244 794570730 626860814 520102635 276581438 694953028 467813528 234646420 831610747 295943650 227578580 214522149 814635048 812196232 598778033 412794654 400624438 898358775 647558282 467028474 536646321 659714422 189644206 548902971 703986001 448182182 502647094 512324696 270176641 283376549 594622324 145507025 248627980 495008478 293307810 578674073 729858031 343390548 580658859 202942907 138151637 103191860 394655949 600961803 743111389 960437809 439748349 556745393 694111835 666004027 756104078 149355209 927124308 325081189 180725068 359261130 655897850 944251387 444672576 460687764 445389694 301404587 349183660 463727006 385516913 730835161 321942549 244376118 699289959 521923440 989903535 303386866 845525865 690329597 592917097 607301323 662924588 216790429 633366709 979572292 365704419 899742775 682740238 138318444 317292629 642515509 943906592 231871369 214209656 199855714 818975658 112351654 537593319 523432541 901793068 273289198 766396183 294095880 589811084 914272037 519503722 401345084 925060364 397273114 146409399 709644557 106244971 180930372 693413833 586757583 925048667 358811496 623389978 152053610 447539048 433469731 116983465 668819056 962728809 141261936 373451653 232393246 713399336 996388761 977802909 233992485 668005364 309061910 183213047 782204081 844227289 405050016 291461523 289636150 192054698 838251172 399687349 148173418 497325323 427097932 933141037 277112310 409770482 635850144 383227954 933859658 480677239 955289440 137816402 452657334 855316146 527525573 269536440 869216226 888051356 602960788 218692558 643990390 265371760 432429800 506249207 442044591 962559797 185345512 505488249 209365115 173916248 144978644 541160102 203071377 954553458 333791437 225253318 975443600 685682814 762458168 846523633 532504650 245177390 544321158 648363188 472088093 917748764 515931458 780888761 394745860 980088102 771052878 883519176 727375986 706728639 390308945 931964619 216229891 808385795 396293823 134881329 394590892 248999612 312232433 829702880 297889261 649186228 463440695 151159536 428752112 717969629 666400770 950089796 606043397 340397117 432163583 514915135 597100887 217231756 511498559 323115576 146309368 838066026 335272708 164744965 696270468 564867495 283598623 242583638 422504163 119617478 907912917 746970940 772946654 840900106 799009649 382309698 904440002 970182517 385107930 914444216 276876472 366849463 735576870 757415966 596911386 601885127 692932850 827177862 221009703 482384885 197651014 821042660 993075058 898009185 975279165 167202593 750079460 646419116 712201326 885060313 578244711 635939492 208634022 465331052 726110945 985898316 990891123 919526689 221469105 896525414 299940760 260910183 785722549 385183396 837888309 769394629 857713547 537444339 318184070 482853167 707445513 544083847 443234583 485532030 679184595 637165267 248209560 580728411 496363989 831010582 246229048 511636749 723680494 933055488 211285315 585423456 629628988 606936412 577628006 257479874 591837821 996384850 217930384 767974096 197788732 197629120 689454449 466643290 744636098 552977213 194263439 871448086 655874789 807897355 188728928 496409685 554594563 736876365 595092114 642255888 292919895 326121669 146209167 368846390 951875141 485426589 698054369 230673032 942853813 753898297 720510570 124592133 256057496 162209954 297736453 713833602 152575277 240888267 155176264 774487425 221579951 680761642 814836412 702671250 115641291 311229096 266084003 102168385 666679088 962701106 498087311 551564517 240453400 194973881 975754957 884668816 861692846 186522889 835811010 810751126 144084246 677935324 504441851 452884745 323352639 722334799 340444745 788295755 683983347 911838503 546321471 467675887 412861996 821596961 424213415 119335117 384435354 946530796 838812229 196660123 656568669 759482524 557430369 407007152 457511793 927310704 567514731 588455499 564995526 606179802 636894140 268688469 313195155 517589206 670005431 624863174 715856094 563250816 877064097 931997837 447381085 141529914 516881629 550910885 472092106 625030952 861975633 320270741 371559685 375804812 814037652 798219182 585632361 917851965 699448572 733602511 880946227 608374025 394754972 317910678 397346193 492620085 565194896 981044247 647747659 886215015 248861571 246267170 695857624 680747977 644907757 831788236 416176936 886333294 506900547 929814322 170130819 926024247 652420818 178711598 578546019 327827940 803921519 125251533 460532964 294532560 789558424 335440036 864526049 340460376 881500783 984338913 735620931 510782427 759713662 506598405 683226014 205022480 827213796 445661323 442196190 146001694 564199179 814204008 746869192 976324085 138005658 882118589 311261578 610904931 375178351 446180585 153558050 927025898 343569869 111412585 357331520 154405825 194162882 638942587 210700916 499077414 341921910 743194440 591335945 829272775 342544585 712033661 682781734 759853846 605265509 242125024 194984340 696249433 270262064 721447149 911297165 340179728 471108320 697710424 788197637 541589849 389956072 210032457 180870949 533336476 671010551 367201520 577564473 812902191 656418699 829347442 659221766 670800845 824222262 120170132 921225986 658665484 520777228 114492038 302038614 621881563 356380101 666176413 503284140 491538431 254448299 704135921 735324638 729126306 654263125 957509437 364505237 377347894 201673733 446564838 651574981 473362225 881532331 142057437 489447153 334297742 297292251 347050596 845645864 641628015 666326613 781397448 157424373 157859251 281284317 778540525 276558658 688085455 524144206 493713271 955082835 806228034 420011637 294903443 162489842 318251726 421078759 617703275 100239992 413016373 504614436 522751977 208486871 681059330 430170430 447171924 396671374 127186366 841726037 744290664 208886055 552211147 460250355 159507957 535894067 249869749 445328168 204470877 298613880 906534234 683905499 670489789 164504209 376398233 455986415 743411541 112093511 562926813 624582263 325855965 286975344 583665318 774722481 708268361 790864163 989731685 672848872 203689625 865713348 497033212 359606772 572530819 248612748 580828824 436879393 165297523 429262713 551070906 190889660 667527797 463941672 253016840 856037142 155297146 290992613 207652681 282546920 702392434 976121597 642004181 263171107 147782434 956062625 264830374 739267741 646577322 565797840 168790135 652243360 804203096 266713224 310248026 165565778 988743550 590540638 832368289 508307699 841329053 107073980 660621437 778181474 580596302 944686454 102766033 809361267 368877586 436939129 589576465 161362250 870727152 762262625 602272548 533505226 666181038 982260702 178379674 164138243 348026383 288374215 484447232 764436569 966811806 618159325 953350724 207242321 516525996 541076176 817367283 501364905 254192073 791884802 637378190 922753046 357490380 683450266 110597908 165927401 582848273 416466450 459347808 282419913 883040035 131540979 997725969 664146829 546666682 148558397 778374827 547188185 484520013 708630244 132923659 275049337 714469633 342615896 467197858 578280756 692995768 343741439 313455121 412396956 667133261 905144807 192077195 645064285 156612593 277026075 159750140 194719927 515910587 255432736 239458025 739079665 200449206 564918407 700690541 400649534 529092457 888585907 894544437 320978032 225631154 361284920 761607555 517671603 242939436 171772416 765814472 590293182 862857054 969499449 908439334 468711765 598566946 353938715 497896575 939660887 929970325 677858762 974218605 895856786 685544180 862494685 905951675 156405960 224498903 571135312 555842368 452018114 615614952 210726649 867369119 871313526 730618960 398584370 222840668 343742655 717616359 927783790 319467751 768380785 907920126 404100522 260921015 555818641 355170211 939259125 169118863 913579558 584211704 847133272 592409755 688537991 949959536 773679529 314556564 797243773 220206528 738186709 833973621 459873778 113168692 592856626 560533038 664844543 678681885 985415354 683011412 108162133 992635215 638035661 890974689 279004663 387986343 324135195 727834454 433928959 522967333 883836290 541847062 148112946 188931296 501978883 910022911 778943646 815600708 422345039 353000048 880413569 849300098 492316323 871261771 605378484 217701317 933997500 330134814 340439706 411751400 671785290 375614778 173803845 439890893 215282060 140009638 461462369 463433597 363424015 602276614 790386573 939960308 986531026 589098478 310050468 800575705 749629079 291031929 603192863 216327704 382925805 497407356 312022727 487406863 892508733 566051838 198181653 229905074 418410809 870089838 987938066 895390231 811896741 102181343 717706494 152221894 411569319 728112657 864721087 870227205 116988519 435188333 321665753 199180081 988569419 172050761 694138127 489300699 916673677 356211272 698794581 263935404 401734625 827764903 444371077 527920224 949194369 338705353 247289794 619249102 829644401 371625154 491474802 506531049 765720624 720216741 288292263 630168214 704608973 919067419 328118190 544783549 956288217 332473247 577637537 764055915 836000294 427594519 621499408 323718219 452673050 728997241 654917385 704827422 328365181 373050641 182026713 646860419 653998047 615939506 920543204 545946194 442167874 399703752 146216396 967631775 935546507 582912430 263885483 361193893 658635758 119587411 817368702 416456782 825781174 804220210 397125605 420591140 135138281 787104905 953001914 707469523 295088114 904332100 188523638 600803341 548771624 291119016 581065266 801259834 258908535 416665373 708174686 689728690 489298908 758754726 450533517 567365038 295374388 592959283 488974657 151711850 555348653 135879372 589441484 288587982 557057933 282778779 872652860 117169841 361939674 586780091 417148272 102753955 362380236 227376589 100398238 660120138 670927975 896355505 509402444 257592172 171524354 981693504 388422025 155093093 799406850 510883751 683577583 773816923 591509795 911613207 567233854 509060945 757146557 379826751 282823431 963188967 936685745 905631207 547636990 513700751 217373437 935260050 650984002 983103290 954619067 877524232 650179687 197799182 962214184 861593761 361957153 996016201 933873946 740921213 241485862 990836268 241330523 909505636 765256552 459482902 364168342 317990326 993577753 392935412 140347527 237996254 104804688 234335051 466085751 923053106 363339277 831040453 672098088 432927376 695037654 751949851 507047026 563414533 639930071 318916109 119151681 992366587 422087109 480269146 911426209 955481271 696213882 277447417 567615381 198527033 422642997 786925355 940660437 874318132 184313351 117842160 168140474 844072241 902437734 682680048 818109248 203493961 172682810 149361301 827691136 111186549 440364449 240345828 301955105 944831270 737115532 271220082 163702046 137309107 496954851 975429177 129648142 865524593 288150509 409791299 971099794 619989719 669255010 397714813 709800093 764274104 222014948 100700063 619121088 616464458 394390740 842482923 170226798 175264199 308157848 385914149 447707738 198306312 582498516 331290347 434590959 506104959 124948146 846653144 344024531 385295086 425083452 710497896 365769906 756429403 403566075 411287768 605743172 620286864 893972790 322524791 520848590 910564792 996566997 423761809 457965340 780343294 653873434 994920233 752563603 516091336 945240892 403865940 180549827 520294006 641332135 949384213 511139144 222579292 874967243 563761462 753660078 259916254 612825607 557381054 498861193 884452242 277041950 985949845 130769159 839532212 641145274 339051058 331557180 537701756 875552021 973250848 836424191 599488568 531627602 628555552 459333758 280811990 108704984 334952557 708754243 210175588 718898129 856440627 206841984 339772546 303517054 962280616 639222916 148815727 712548811 258591486 864465964 372030316 702925772 846935152 305127653 229842618 152112006 716609187 707138175 117121870 732949871 286458881 664723315 631974352 528338634 804733845 412799479 604923091 430934013 167459345 765626595 448782241 925107540 695396666 625996330 137565819 372667563 753349741 645573848 598194762 633115177 149246002 237530110 170662318 184867680 459621630 836321303 943504672 335693242 947687733 648526226 151995457 288880491 154704958 961881328 834952860 450998262 363417332 418143008 114421247 563714614 137053686 273737739 541079616 978171370 443284636 245380563 486479100 843238829 545917079 472735866 890140213 520721643 442128979 743643164 362346548 838690036 305459997 348878260 687688748 622908586 127048507 232059967 928581858 527412030 580847779 456480037 116032794 493480162 460240343 394053604 262681556 875709073 555099254 347939419 986047630 799316283 183859914 182737386 563012312 294650113 783335902 843575953 227093297 973686266 755547680 378496965 598123915 491247158 169240775 472337285 713064525 556018534 609269021 287720986 123546086 605004290 886551265 767250974 400456593 938546471 674346035 374517847 394176870 891688967 588597444 798604347 317708692 467839911 202413358 577430637 344703145 290387311 401967162 663375729 443302947 663622153 230870290 588382745 903723047 515015826 750995645 462425267 789748944 171161180 978126749 890389738 756040637 579862158 396162969 610080922 493746746 312533610 821003932 485526733 838340421 252877746 286223440 646286651 941679895 541062156 169989090 998840343 476997760 873791591 388731977 991442895 278026601 140086281 346108839 403268013 362294601 560282622 513729032 777397521 307987983 899836858 762255879 991166118 525667272 175810909 912204003 911072887 605866857 648200201 854341876 617772794 725989853 435227815 427622498 410966898 774676717 612035517 820820591 582074561 218330923 992439439 133855847 874692602 828447783 467300449 879577339 627009662 920882099 216521988 441062740 372904065 811465272 370096279 691811137 837718562 324225112 903961901 892590714 989213805 356507318 223489036 557177711 197221415 108003993 786500934 241281953 865117483 369420403 292366079 799695505 277828665 959701482 760281726 935716366 890542554 761281828 374166530 115687477 978916881 899046011 114315259 234191555 478679331 847961550 911533376 306337313 994336646 587290647 452854486 331606216 970538584 218551479 415512134 917385127 792211191 831834619 166632347 517074015 534215620 533561944 493507989 126194967 870244535 129795608 720706030 763303455 349571885 935425153 388986578 957830782 813811103 799264242 344089371 217199932 951944205 232931591 803391826 189301394 588646286 895451510 502433979 979384596 199514163 892438833 974891078 295970491 463168176 641155451 544898928 456225389 662529174 530628465 851048672 344812925 224491653 244076916 347834309 134700978 400333292 609354002 190680631 116797990 389201369 263228269 801850365 394859010 672325213 597409148 152016663 269826322 778957568 371629767 258384878 894166075 361367611 205439876 237202200 134083842 218930258 180291988 282545823 409472509 647378723 584575319 711484909 255069567 396839074 971504770 130918611 443869120 288673758 999352072 101665766 339485576 757803041 539981112 512605406 995173102 276228797 656267183 664950085 238572188 353684718 488174125 766835061 527278500 522087046 783641611 591835326 746708154 600110984 800904059 773347612 423577835 517366481 366737414 570403623 163908842 318291201 324334959 532622568 384869266 751278712 486183026 835521089 854675770 482008388 196093363 414778576 671368020 351832559 215035418 507426487 302973049 928962242 700138410 176230237 675043105 178290964 373730921 882170984 910265725 803703150 679136093 604524733 909653912 329785384 189212819 950771931 987195027 160468444 707362206 124569912 691466322 954036191 889241975 859321130 609153468 195760167 142713768 976698811 420753927 269906727 135782880 927621095 904320691 954200673 226107165 688092834 567209310 299983674 353761851 435380027 327967925 497087774 991277705 635288117 607532306 434099292 971234368 316303775 155613300 559953561 500033097 499505865 260527867 258516092 110735139 861404247 563087117 223705510 982176775 206251299 318533932 452816128 111461012 408561178 107404672 541101519 629523033 772776341 548330508 357916109 322741871 981905970 392706937 882871924 680237470 688400757 391317476 905029920 201908118 487733471 645536848 620227004 214928285 477752477 235064116 182366541 992078182 423422034 396675597 436080574 978867585 180085867 368065747 284484591 318966279 189445037 322700858 264252368 323473331 276032880 492564968 768619453 782682807 339521324 276366482 334231079 860574038 289563737 591493192 545949315 113618519 960012480 757862532 828226027 207793488 525605275 719141052 291782400 615813346 840435659 174507130 481438029 268223065 666088311 926883058 130172896 593034387 905110122 104175524 671114060 340848950 590953080 663341392 567608707 401543660 398406705 807462292 124168602 218718972 839950042 549700420 234033057 712569764 296173924 230648514 474132681 634541784 822253167 498427536 596404367 142980021 406860841 480124228 821750268 403913159 308020630 687602330 312217791 856517034 869468024 188850205 183718855 788731787 819965496 590930005 285338815 632788696 452779746 117436646 522775131 370712632 641318172 906341026 155750339 334715143 513884226 369479577 916780112 412337929 780453285 142387996 607284761 148780950 668062495 712579699 317841675 332061720 718899179 941927653 332663947 580281063 306387086 810152819 976183174 479395038 867733044 933687506 376593745 191903860 203449998 681069032 535827227 406618326 572752947 684825665 633465733 375195341 471520394 287269137 375899319 246055008 681353274 495736362 377529889 487494008 456599361 173706365 567246348 966246494 481558753 720470152 464450507 744507195 500176624 510318118 588749363 560253321 256234025 553671934 566695248 713982969 823573752 362044451 326484083 688968751 666555099 631505431 851590081 212070681 330760673 806706509 332028190 576538816 521055915 532956680 122659185 901350859 262846413 475464726 599678347 226042100 997839423 514113481 565080688 183840455 352458800 279351257 247560960 970852241 922287005 914319139 101749016 881396940 734044540 171915517 117831492 238267544 793944420 674307313 627373572 706666233 266622819 750036604 539714817 151255809 735824889 285811736 294575180 550569171 696053638 787776728 228463023 576064824 248440061 861505297 738437799 948339505 310144327 229821592 681458982 508496359 304391806 765396827 531284961 547630922 259631429 335829037 798654691 222096542 705648341 883245562 827816949 475774415 864557476 993835130 970764680 786929397 326517711 775355161 456977664 654428376 951837091 853561160 907646954 986547788 819219829 899892765 961175289 836183967 729714738 285427102 426210161 566210995 746013334 154199768 283738967 938210594 543805474 186412291 962037021 994497222 496648518 568215759 709343106 980410163 117766007 680543148 463974978 962596910 356250272 558467808 206628884 246492860 174440233 191200987 634582084 797199881 672319674 129351853 832189156 433290362 671449027 981400629 206800510 634424881 114619668 435317992 933546157 363326174 317321106 100783263 395308411 856461101 890207060 747193915 974343228 218493758 136637486 254968163 255938716 464492737 860557367 642394060 405706894 289321621 818366556 122820141 348123057 232037669 826343711 106639029 817559439 174036992 377224651 448767818 778893376 667648313 349157201 707444422 707267791 198600463 738655025 743660943 642605031 914239460 585990456 443304300 408470706 569037861 892186627 696398413 862876644 946908204 677531680 734032721 641098855 413390779 832772598 434865167 883162461 693135802 885218205 247027192 438006101 366408486 690832938 337261883 730904431 588810837 743410881 213803887 285187253 758554244 423805813 531539944 957211121 303779047 184706880 715035069 374040254 661246182 171234041 543835980 134049345 874697012 725509877 148238046 546240078 931830661 254499385 783873488 430046385 862217524 775733596 305337433 979804121 763611830 663598651 260422938 424257167 353661203 619468612 311534699 489584318 147106010 769257024 855221087 230469073 811901492 463394510 701354989 226742098 844213455 248937367 766094561 846309631 164453179 937795399 899750005 944959799 623162793 419530350 699317582 416650898 541700311 635316088 548781282 230987072 291975427 783558253 649911572 702868292 214017659 589748109 479904886 520457023 403218807 208564355 968046490 381251591 839798114 896228678 924010997 218757105 648713214 483130122 982825592 553208150 704884801 790366868 544446066 853915613 549867135 527029076 193679718 271627757 845117903 441083647 365434199 753103614 431427988 671939281 545597791 916304235 891407595 763412065 321791379 390292869 972257023 946963539 187850426 798866826 461439146 935569137 541984119 787176086 259175958 798021310 578707838 511842370 367346836 652901571 826326485 527165491 760523675 700021237 569503116 887552603 474497964 519272949 602951922 840405908 940742569 589730593 157562320 561463646 191193305 654138277 469618056 322982353 387311077 530301135 120495438 435661882 979757654 661860397 939791967 206715771 984816112 480535136 608272332 186496270 158035140 979254050 579984326 611029643 629713056 478426036 975209951 248492819 802719550 520792317 604307853 562036599 519364516 665183719 147699527 853029141 887003293 355512837 452709032 521540929 778537700 514943436 780052663 598298822 291194519 718935718 738928462 418848684 299036247 318267336 451556186 606134459 861846858 925528816 223710842 199831007 565163445 958881078 726147576 781887752 910557037 399726181 131239723 563479761 519835585 214755005 336708323 749979604 215830257 287958859 510637098 725136851 513020388 661521403 617343228 913293266 158981348 219726133 761030233 433743132 571395449 762075832 132823097 450665548 583306476 694815669 490681861 964767861 660471099 355576704 546788304 314034628 844600279 614400964 596955123 170442423 678699388 529142732 385246189 717977370 717993742 518697815 284537996 729939371 243645119 870336845 166484677 496158712 661761602 228859677 293096740 146949974 522937388 981136037 261944762 252151261 819142572 251055430 321237433 101966565 261913501 595889555 723595889 582433342 173326310 968282893 998917348 118545545 306793827 165512910 316843941 716721928 260056696 857525452 654896166 790714725 503217539 240981457 816071722 978584829 878141468 997840421 454586311 441791516 832169414 734771205 657328366 775687697 722852884 596626541 383653396 500889615 484361571 111485212 500306922 309125012 209718479 385907770 767375292 111839108 520505955 477727709 852939646 283571000 230219978 827549106 825548120 314509933 295601193 912049480 206121809 775680409 715906406 325139184 575456205 434343158 339614645 921748793 881539053 571767254 885390249 246774843 158633809 329518704 698251078 130398953 669579080 558780039 509600668 659160905 125690522 346734148 330163033 827599019 593530861 717862387 322556633 565170602 486981136 775867016 689008995 306384841 863578024 423943316 438834533 727050429 575979088 934258581 219665179 104815578 130101519 518799575 421061070 324576502 302345030 481905706 710615283 460450664 340731290 641030361 269442285 183671437 898156606 259249870 219757754 917771906 799503790 854497065 188115597 545179790 909298985 646938314 988213177 531635214 536861300 395798673 709109933 348558939 641751239 447211528 896025318 563447345 382570015 536691708 960654354 991176477 752241541 914885388 639613252 393669199 677888922 454285105 744850758 113633164 962261620 207059993 703142202 698394358 709340199 211353182 313020200 664813594 983388931 751382978 904951404 854969176 778668549 731809860 445856825 508584290 503060133 682217923 680990836 303313303 241407113 875489154 149683788 100517198 607476349 589014283 175459099 375811722 102648135 314428949 403808374 241259681 776566252 608675299 975036712 997999892 280736016 646246510 905626552 969575781 226707396 153494392 801420377 252477454 149879731 442773600 230422548 904711749 937057046 171077147 971487617 394653880 986130195 949535749 576019508 686461371 198394780 494491765 526655405 479766099 588406592 895883252 394011962 661221729 169819293 553308547 382394020 444172353 894111483 274874420 995479116 841602483 604288701 172139766 982813632 318015985 616727874 726007112 764086012 361091763 263425312 771487167 472903388 440657750 276889197 493540783 763546352 829963744 350222739 998611521 913396901 179277215 606043992 318840187 665841424 169506935 786311548 869150205 209910856 569991218 879159047 153388763 176377274 777809907 584508406 891542913 888487202 212158256 368224881 843482209 419083945 371154350 270513926 419436578 994300631 833692267 209815660 357580278 332646910 544292554 377696613 606606811 522067438 783290256 300023310 713962899 576552393 860054269 967957764 413928258 253670279 967647159 898948928 182721629 525811142 927483879 165950486 341197445 968950398 381552686 787818604 912123180 137406739 190498183 286291143 271002019 944330257 372527680 412059584 232518957 100893339 469266209 273288332 727331426 647014543 428605304 749995185 124789811 463222455 276318550 400099433 972554467 221025159 135597906 235389609 634595865 682530852 223132320 669924167 711233371 801890245 457098983 240550338 494284499 128743104 412555748 989684725 632331184 222614368 632839969 932394865 850869959 466792593 977054447 129653845 613148382 172964435 745242598 296500002 913045858 582244823 386571513 679591669 196908192 885212755 125948557 522934254 162462939 473392764 302150943 929025648 439363842 882735861 257381670 766367263 359055013 809188172 922323830 356721402 435942960 264883957 550408655 783174549 545965871 508898848 497813831 879432448 979113938 460987903 289807687 371550312 130877973 857837249 568793915 819518608 395794923 895752499 802875402 369342222 922830152 126883946 626507242 156769587 917289405 576261248 383016301 311570732 743642467 796056801 759208736 375796762 981125267 604891640 374143828 598739168 162434965 717230797 604909190 592559147 684707355 513062677 941878670 176660852 407936845 156415261 617796871 630100220 470423629 267186464 239230256 725817003 125357095 450467020 175689836 439980979 510218683 307598575 728945837 143739452 789065252 454378914 467303461 451929025 123055121 427237094 451185319 384405554 961115509 305580837 459998334 958603858 801485271 809291601 136545625 846004897 775142053 502150309 717670865 189281816 140419968 328913109 445494275 411597882 518505021 478507879 678736075 878257814 398950479 546414899 587749215 596419171 753111204 844417567 136522690 497591616 460491710 765057141 528454939 865912821 850111718 109227936 575323518 626346281 820800726 919660757 301131579 578701008 612228377 673851512 480305885 587586177 325423747 901584123 200508168 788027518 830770434 248894300 462712719 256958357 568749316 165728340 811915417 151848745 744504827 115082683 484278770 271092842 817486059 682221706 469476439 809694823 735828176 473940003 208020178 668361950 834177976 115645192 867628532 352745367 378921337 766643910 941524092 645998285 334670607 168693020 431578837 541257923 791535987 796330099 462988697 367259208 198722767 585374248 412091891 648420021 504844114 541311651 362490815 506567063 713320952 113286420 873403553 330961408 789703642 854512478 340682498 396913468 753097791 315815598 453133409 323172635 625253690 204297745 590260761 795320176 189676882 557932650 316116400 901684473 764993182 128881680 171688358 996618390 806505684 489357148 515528473 873918213 288034717 427620524 791211788 123261183 158869844 524831516 241817643 453406817 520102536 194054695 370567381 414541492 489022868 933776067 901377285 553464084 259871280 468809097 909265098 541727746 156460638 656598257 900145764 499110663 110905528 146507803 542582115 698434257 852009421 492202257 732128702 170604098 935392189 483468107 610205751 706301807 123881747 123117832 967532070 261105413 631737849 477162027 305707027 259847450 318826908 745902452 636096422 186167238 586815140 613078561 238407075 111622867 529067924 806940052 526686588 820165598 934777062 619983807 518959968 239869236 987865006 110564159 263292888 517662743 295687222 717844803 770312426 630353614 910454792 404257227 411105837 516057057 139825139 611579933 599856181 197996791 252099582 590056108 454789941 163412862 450565152 914929196 740990686 456348798 815673709 411428803 221314086 415419849 221927436 522528655 466861670 815323213 558965375 291971677 845460914 943596604 680843298 171243672 707156124 435703214 801670180 759967222 197335706 280890158 736816357 347250206 348155817 799075643 389165222 412742523 392605174 440273443 604121462 829320643 584813930 674533780 554682072 829732419 386413095 292857632 281802010 164161018 757960650 873677543 957115538 832179821 780288692 159827059 842266932 300211306 494903671 966666248 403766429 462942942 685634066 925615396 399619764 381936016 515944611 927391499 988038385 255104617 619226683 544339292 114989041 279120557 124029081 428074427 273662745 805215442 312728142 769560809 242511495 309430747 276804903 129490248 122952487 658171385 106907318 755334364 838512094 888362316 302874357 623233924 110974514 115251121 145564482 575941206 306732904 429591661 318498774 562469235 286011015 519386481 339891928 942956923 318510367 628751610 689541869 139665179 729134943 161189395 739114794 776771006 493240692 912124357 217319143 387108680 453300136 601317586 827793057 962733626 256178611 324694944 278014210 771938901 490331469 616702548 168306968 145917288 539980929 600375173 679313541 880664062 565782301 652648484 471423226 585805674 686997005 988858488 490176842 625082371 335235595 253024717 431892613 674820136 485345370 169051182 389596801 690225022 703815466 674620722 510873344 150636561 823319850 901086823 817806636 140240664 773303087 393464640 306515676 152223678 925333206 372848228 673788320 259058557 758494382 886864914 226144437 975966228 893576603 592233090 405454241 896472633 662038950 787186967 523739442 465503410 789886559 114415146 597473900 767743808 597169183 889966623 662315167 955224754 576084389 459211762 949992172 492789193 495231079 980706294 137735272 752573202 182313706 354683635 131699495 982588574 206730852 573791894 353033361 353207799 968881368 241597206 753804596 405151264 172012037 585415021 410420680 529518383 660743957 203869211 344118497 764309659 488085225 636193039 782887801 325693007 124828477 782177088 127987644 363793812 454758686 209047424 493843816 307295775 221003138 159449065 223524927 474029021 488509037 985906423 509671650 614657512 387403584 804455987 140355987 281322158 912852660 531675346 333874875 517881404 136341528 771280508 467342036 637704442 595958726 697167819 191527165 176025500 937856684 411271605 166414614 812052958 976961471 784449302 877074411 822424172 212029061 183238393 236927485 383267138 261250724 460236636 402571480 810530682 606331446 501214349 577099751 485362201 384213174 407247009 894866856 535109926 267083062 655800978 955703099 927403113 103921929 272397157 322785957 259809666 737281708 244536999 925627392 464491513 860329826 328920823 651574094 331758554 807529002 134958489 594101529 663308888 613315667 869032540 646305531 576766974 396849545 339565889 448153553 143711043 689827923 915965722 541832260 212087524 459340290 625681727 169823699 490331187 862091620 400962204 419752862 593018654 764635052 624045790 326761238 583633675 164337086 280988571 257047808 600516294 987179583 999342331 467038209 374023602 940546250 158536133 645020539 453646038 574910149 250658181 217860819 161373729 143772445 726297781 551056227 539169021 615708378 451463777 469761013 933365897 327722436 499603125 456738287 781153147 221294977 599648026 518407750 399872317 690171091 907686735 126306561 542176576 853547204 356444148 366155597 693351921 203183105 692964065 392178350 637828263 136740666 893258001 734835585 924482868 766405394 548535224 727861538 742176851 692889610 955781685 331263524 197940845 581174746 702480072 798067682 839646133 766571619 841385360 157537160 910340665 239585945 938776228 749687374 457431239 851751074 816734473 317957339 872203241 898579626 398659872 714462832 316417940 865554446 828276937 385805198 160850156 284769309 759017126 446453570 453112837 186140197 136576604 396404941 172344273 991303554 323317718 690498957 938480545 607081618 435434842 620365032 451892217 163059648 474804972 391775711 123964476 451295147 841698350 154111678 430216125 783991685 947235237 297609682 291562286 452785846 346620262 945775265 236769611 897986882 509100388 838011172 751274990 776362310 820308602 643720245 551609064 867481071 299472703 210847324 514806798 394384347 718233216 420881208 267021656 243881451 110535363 928006871 199249496 900932693 164657989 193693929 417589829 726783634 616022908 194535992 740404381 384221301 926236735 481096378 589551536 586524588 485857195 539771305 280466224 504036567 484066652 789615580 777252741 169553765 285000655 462609698 685462818 764755693 561152747 164355856 383456872 289702513 825151908 347770179 377853780 913252744 307441330 443156637 255036012 641213083 578152028 621700049 628890535 515114294 913049067 476743710 757376015 167074644 789225527 527688059 364121889 678330605 969245510 407728321 708812282 326914160 370385818 560819342 563798567 972878962 553472699 327884945 811800642 696841821 153737585 973157741 240355848 343981974 775314918 639036618 535145707 584380163 567307529 428171776 454247423 700507729 239643419 250651720 574220238 132186445 450067258 656277613 338065496 966955412 743191151 391178365 500060264 296129949 682918975 794921217 362480049 602525477 484776970 894868516 708123177 349624066 107749797 346244275 347780837 380401303 907302036 722312685 504603550 596044169 523990981 851281976 714598142 128086384 690752348 279791185 355044351 836447833 931002324 718342144 516789072 407928916 888817163 797917467 468538829 348993816 724279713 110971595 868150812 437475299 114307347 735206760 623931739 973794432 824365052 955523600 671588986 554773666 524197192 897036538 624844182 591540965 149012012 908101802 560401685 784177142 606397274 495575629 315632426 425225394 126192707 199186681 307181113 498706099 130195498 781958550 666016883 951485943 305417081 657037604 450371725 721798677 846749038 983592769 869489414 679670939 636178917 748800900 100554315 150613260 331311677 681805134 314731054 137654311 243990216 640300346 363620118 148994790 756234290 894014508 146510328 872896331 665729420 964261082 498490580 774991804 616037092 396085690 965400379 672026721 103858424 251024945 578545005 659493118 571038274 538636889 951817961 931859922 459332487 879033814 633046983 395156752 815612577 488173019 436026965 194657798 152780300 257952049 681224319 292112278 813326105 723709241 618414794 492937818 797940680 708693570 636896254 346367787 315014304 635903362 297163114 694842503 960284586 308701119 704487887 267354447 523704744 328815864 732956440 788478735 484168897 660939695 933612303 335785680 758982645 835693177 709706763 632996227 948892392 890530065 325464215 944821164 593186831 376701289 899227486 771852397 886368496 884091317 456934956 633641306 583317686 843272656 243191086 719355446 338493777 112626215 457701292 309116607 815236090 387913545 399362870 300762701 659806971 648334994 110504371 834453880 491544832 704716916 944067242 951267068 289737122 707927809 891796167 548306637 416285953 480675172 255237088 304869771 542952321 670959334 794852674 452144226 298760187 665907542 723190972 418915705 475103009 560755856 341839070 458837026 445847775 949686381 459708298 370517300 632891266 724392091 353237330 411159116 244080765 777424002 882061816 995180033 606324121 839255222 460873983 748516490 161465004 989080309 763390055 236107468 734245325 646211615 122310972 405267129 724503781 612340728 915698874 339742387 868183684 182667220 991993180 360926194 180595276 683768695 499152894 477166846 646914444 591798612 404736871 917037122 676917967 729781140 906525067 361642962 185425165 187625049 144705779 502073617 592386852 277164184 270290177 604687453 693641490 974518303 562492642 196474776 564020734 888257749 516570746 140350624 467296754 199330475 629376745 589326047 795367633 685233414 375238660 100803442 855731711 940128914 492656236 485997284 943616308 639621335 148725649 500245594 799606400 160217080 817738179 236265428 760553229 340258253 215717316 429088096 408286771 358440513 457933997 384058446 646951915 460801999 174739862 189289982 447756430 695242973 100657098 855211605 624979366 792744184 684885972 451890690 472528669 448823330 613593994 288412080 986904455 433235945 507585896 885946637 553713628 643528995 276531904 789835906 170535787 849898837 386943657 651359434 730857306 433984491 495870219 873369962 905401464 669673226 444848815 167718549 446785437 595200168 576929638 921978046 938911385 247094126 458806388 735023196 431384656 920433762 347687893 825015288 591852021 847710763 185775950 812071505 647855312 972599202 932540535 123750996 550419694 126877420 663209001 519895746 200219630 413425528 490062718 249918668 965177205 649968329 245138656 461005566 935123695 551178545 742274895 705155119 468823184 450445351 799782834 598034885 760677904 892465784 883920033 906957521 869085569 686103592 742959773 163725639 392489047 857787331 265550836 232143821 938368077 602843152 510747585 968153541 577646198 547911351 737166449 595189612 746522626 283990416 157752967 158551004 157767394 997773141 841856916 890148732 914661551 433730563 821273729 606173331 351959775 496712996 777394695 136884506 483900274 176227519 628059126 651125965 709011204 833838806 231909034 186407666 143349604 190598626 298547020 640063484 381748004 958219771 405868176 937216329 171281144 655488419 870703150 776787005 838949910 688681320 544590556 581379385 504647199 628712521 529507647 577689330 222191443 805125535 231959539 616157014 908830799 747960171 567800602 119445726 117302181 901414065 659524871 284922963 571238371 262379899 162353131 859032371 326690946 596259004 564260093 826065292 462425531 970444166 780927008 882681097 374410516 532835196 825365758 917269247 169186386 809495860 158157797 454879878 173655778 963531982 504401831 789076153 988063968 167966515 600459503 832545096 157649439 442027230 620043191 854510925 792951863 988753456 205779661 131699694 401696601 685065020 701452533 103059640 802374981 562087975 202128144 854244792 300320612 302867853 900550447 388834931 776896557 976830667 426475708 749016936 209275628 119754731 906097399 982300408 511343032 862751387 367959679 352170866 408561061 104941775 277628400 483061550 479413704 344060627 165793014 325425642 480165397 557892826 773975359 640585772 246519603 660532921 734883777 955289111 377864713 929836396 917148876 793733684 235206022 504030275 166178475 792362635 267434219 733271419 623408058 109912327 660904541 461169510 505802933 942643617 534578564 766677337 275607441 424916906 575926895 930144372 890936607 814687017 749953364 495459305 318150976 330622176 235794221 853975947 635325531 671495859 205083359 574879830 166272333 958785804 229510965 315416404 645079719 742387474 891827510 177341018 736429550 581813590 959016503 708138847 697939043 932581594 611877692 480675565 737859528 892411732 423141494 897717538 474341161 877969834 569413712 708050687 856062510 568460006 282661631 569600104 996892060 104101438 170154794 194848922 394806004 516906181 286168466 537995894 399036977 234234429 869039109 951419791 760722354 504961536 796363811 654445843 341504192 851408152 885043569 498446630 771006137 737573077 348149998 426696631 124915505 316247187 542618555 218131814 771971618 330717595 644527800 442884859 960895531 439018381 826008064 945739723 977692784 352035747 642675490 252464109 647418602 699209546 340655149 877428946 251310898 580873090 883416555 223163550 203647215 124403231 196878481 717333715 563522553 569273346 743569340 444017266 375542722 706434195 599460963 406398942 590368603 159787265 725648979 826803227 900175602 695851517 959429051 826236368 328873916 262975732 600945895 537471286 747559670 911863935 598199851 647848445 395567189 694041363 323006763 928550061 450213342 609937036 787816386 909347252 820402308 100804039 239608500 376526196 268642831 159822764 676258801 601001095 730258554 302413901 191257461 263509761 163370341 599774036 721581752 310991452 443027152 776875681 726959432 647790327 276479817 773604811 839818540 944493176 349783957 388959338 689237936 503684848 372723594 693041611 746310409 100749684 771231072 804258610 799872650 951320959 415521765 820104682 736944171 630526932 900687257 106862197 873675675 414017925 687286559 849571419 834244637 818606145 773833955 398318986 533508783 532970710 724120926 931061133 524125819 284229080 266184179 814345163 962455145 367837570 343424626 271070247 512454350 309053765 277686698 306155095 426758359 152472054 670666069 974511147 541323643 724117254 225934150 617303920 312054383 561286888 874919788 422368773 894818980 343331168 886231974 201577002 772061329 150009014 829321679 392268577 682320438 566842511 743389793 214061393 974405506 813770676 321688398 262339754 314474609 671355015 138958092 408868210 667672561 793920855 772163597 610748467 686747936 642320179 268202639 367155007 168202791 260101790 812408431 921992828 981739493 172647769 354463680 383103268 937637871 747123271 840481318 318669080 315426488 926614791 136431732 358996690 656826506 909234097 312614827 174413544 777733795 408970736 514692784 308760499 521253488 237420012 246920701 683946286 492672829 398958500 508998561 865298772 465124187 904859526 566081511 746469454 316843302 703144336 216230202 312323392 203690590 296204914 146152087 432809782 746741999 424283390 185885254 202307203 260994036 449765136 871053775 675890930 374419424 595208414 637027890 697034694 894742445 170813479 431400988 187965165 692727987 546995259 455896655 730510389 545108570 460044400 863734965 702259763 630169514 275473689 870390562 579922296 291303913 533953789 257735184 897522636 283025444 279688215 672071283 290341704 764048204 704751298 990054547 154597356 160887049 741759592 880456090 533673562 803969477 118666016 855087651 424623004 383600024 480619671 531329420 925729006 541219062 925358888 322324538 329118277 302824098 327836346 581891485 759802581 962608246 296231458 559100972 125901541 889829693 202514551 613923421 221812620 917257715 222558118 238260115 170822253 160200233 696315117 988128987 942156487 536583578 278280686 248402288 780861057 866325349 927347961 241746935 839023786 812876015 347548356 556783307 838766340 126020510 754998281 799570042 456645535 311314228 351087008 422235697 228384346 165032126 449277167 338359484 251687604 931765954 297548554 240946226 637918297 797572318 938198708 819314054 586054334 701639217 835710479 489835220 555707833 634331823 630704688 116006575 574428370 129409689 939034889 728571639 301766800 433529756 321063635 242908850 743055361 746787285 459897931 517703105 466544460 604928895 813452191 743847494 460874876 414511769 163942832 405448835 979468904 115901797 134617467 829954727 408314189 751739145 494464901 733923072 113007805 942272846 598132274 448166728 785234867 880031932 222692775 371970524 540830995 211020672 592503208 363653192 571819162 898576946 454487743 485723007 938056835 622333179 894804826 551924565 749223652 981040449 732569538 209137294 762592263 661191770 777283354 505755459 943155238 932970323 708997406 211882156 835926534 797899158 193011508 560313821 207090825 412022411 122941106 238801391 436721199 114614418 192014556 638325154 234007729 556676910 179715421 817539713 235971184 814570804 925199078 246425079 841264174 997659768 538704844 465929179 144217685 908876964 426320079 188485084 221227603 567189326 161361397 367373288 844001521 852226315 671679934 768241389 132380624 750837771 436131702 639790128 543966626 234481488 735480134 340355062 723186631 366715185 235713467 229255110 832951734 289365731 575532113 359779645 403268614 360125078 419434670 836771990 483532573 456276748 831337565 442012634 587366672 301930841 189737002 296293764 363571190 941805646 527780289 867484422 420813929 975805023 480931145 157466624 377460782 115297567 511340330 692261891 339637106 734258960 153428109 617584666 646686211 313807903 147418093 412692163 234996044 976129081 912646731 767064799 406011916 257086218 720328448 334042566 813816488 863976717 306174470 803022413 835109725 813394446 825448744 312195196 497867554 998444503 721413476 668223688 771193646 691600505 909442418 880424047 873872262 150927221 109316137 900362904 789246032 960818458 520833098 346182055 702300358 278489640 624776158 740954425 737996942 645926818 638972009 739757221 461421729 210090180 798333385 343342925 131704935 732101045 849422288 698899434 917701856 490114365 266289419 309096483 991913923 908595579 275222618 772380223 151668019 423132947 563278463 792080837 717424606 720887763 493847851 245714309 623016809 905261880 204561957 141642437 107954435 876767063 143737661 201043528 490572912 552666834 567052127 329536095 175355454 802923652 403347398 882125622 947984376 821075451 364457850 631120765 783588829 817977029 684675151 866479739 226442174 553627573 790832766 820330970 417675880 500868570 565196828 401958068 830591907 415303676 774737942 434675024 787944824 692041311 637780189 279359492 825053384 767031227 609436150 522150336 171272961 225491847 226991531 362844473 123189700 612672579 285683573 741397664 447317283 305345425 344654398 174303835 210290282 391199742 100090487 426580333 625153319 972943867 978594808 754698101 356139809 542398483 262772992 190742834 346555257 753660098 654282594 325852036 882012306 353940825 217268835 483142811 201770356 336085667 817759108 563010858 341766717 468612184 537804152 222702859 221467540 666247765 913210399 398610911 620720935 571509216 467060835 840729802 763658855 343151704 716573946 957423545 337339161 563525601 239174105 471625884 701159347 405993123 117963768 519851592 406718455 919341359 575646793 664895442 539607415 619737738 983957683 576773452 195854326 505011935 375325751 861179477 345666534 569649523 986272785 994424422 225587218 975648480 656081089 574099897 928150852 852680999 553385849 668534613 207899878 582076186 745472130 985190496 680466775 674305657 203607198 283181261 448276477 366717642 994341480 467285678 244533993 250351002 780685836 224159595 583896213 190263881 551132691 436953561 681648076 386679523 531604493 976071298 470794222 325709709 297759957 161515667 217481643 880145421 679761136 432232009 916176005 946899498 967825832 799252260 393981496 405609838 197219234 246569465 442052754 419111445 710264652 348035891 135647781 526008179 682027613 362650018 591132547 464569762 811886521 772684043 890062124 732768599 181720983 319734080 592756051 565378570 940429866 660051432 859445367 370797248 875216110 313538121 423495353 626556558 885165906 908539761 818889166 515948267 573862910 659275797 229206129 878144710 964573259 900264393 480527109 270784035 582914009 838962336 771669098 904241468 355970841 181162026 240431846 609214394 336722472 555363778 836764148 974528953 938981450 460470508 484226053 336423582 253392045 156677914 627078847 745465374 149356267 533110002 161728121 528967114 356161180 172979477 165479885 992911187 501304740 977206713 459801481 190535085 872043650 907659335 986230094 478466157 568048984 678659229 426744661 763172665 710017411 987461470 672099332 409483039 645374965 555047482 853751944 319861215 420366804 189454984 455615631 291105367 432988671 871317081 399633025 428958652 139425975 467705895 267797368 894562347 240175442 112029137 537732936 207285801 791481752 214231791 561818306 499234826 997865901 188236464 332042852 892691078 600132750 954417238 534560097 863349314 924639163 489619000 488923985 217778196 852568059 280906214 634821774 739271454 380450813 633528626 746589666 220014096 174499256 576326135 213814266 432347740 619407236 813456806 592283852 134046077 641777905 397505558 613544056 315714070 125450983 848508263 394790600 667641391 533682894 488073535 697283835 841583650 808629218 329504677 120403020 232745601 113997510 726273225 370671771 791546787 301087381 864449331 661351000 715497652 937172869 697763072 819913057 147636851 397242275 121641932 167845664 601787046 772587012 138598493 913624489 883956090 700860846 731700082 795596279 459567399 312043857 219184220 257843285 213741797 270461888 366612917 523149199 549898996 776783467 845367595 817235433 933884436 183415191 188105373 421479178 822335467 323373209 350960917 524454593 359183477 293145602 156119841 326640067 756767066 456765095 472567239 308906097 262794976 658506674 794575958 601447797 996266688 757775538 611365495 197522440 708068243 574443286 856645465 469110519 758464551 979115622 310181666 539329667 459331402 835202626 935550047 492856647 391807398 562772396 605467633 939783282 982990345 558020594 313939707 658808375 943316225 766995173 198305031 344120731 209922818 192951690 862092479 319860966 205633633 307415974 398375201 666412147 810543926 304760771 733990449 818424081 469031573 130250616 131187496 557192671 857632283 503920034 495329786 273504492 677846699 487983663 912995454 355260109 686452023 549061124 892384992 599686827 168965217 649156833 764199222 463583761 998742550 985681607 758123539 640459814 416361262 382340932 857976033 173707985 205595199 885940703 269030340 470902078 989335354 287474588 101669803 305959737 797242716 440780165 894648239 999148229 490109978 214522957 968548947 296301375 814077974 713540618 910787823 252339053 420602089 236181927 593853441 159963029 496591413 354535985 764677005 285195306 637838937 843574680 527881441 344510978 773938993 727841014 855970095 529691818 512159172 831638709 805358313 545457885 148682108 825118202 233531601 635085036 727140770 838621200 121505305 358334204 368001562 188522981 290610080 193563405 443174706 630663828 136166755 998862365 645915952 706844797 276303115 382122767 421318780 826971724 395542695 523699070 121324990 242977615 667767419 562100899 887564334 660422418 680065816 999201434 809563273 363311760 171474292 927115986 712761984 856344481 904168472 281759130 105785048 397748935 945437509 839818439 500737610 131533060 481339822 370345053 756867372 491514806 912392750 861740708 517304843 345699646 102028517 417602279 928331902 986134866 976158025 990421626 274360653 626262322 128873323 889699576 723638675 425127696 435991857 867800843 207107786 776155056 924996783 514998799 168223830 918872496 586296401 961815760 828089594 970169627 762483682 756855508 853973801 970817061 285957717 688128884 256124126 731279277 353567002 424240278 213512879 354216155 167427289 290640171 446462388 128412866 444986352 486791133 799694294 346571747 480550283 673002729 347322519 726763554 608425072 468503986 558500498 922133503 272489107 554652494 429427192 990160235 301894232 174327913 324544338 591877881 149201766 109543863 647578272 956547763 468441431 943975566 619345961 661532239 212036357 668988594 992407620 740460413 365559432 217339696 125114272 972847446 497048550 379164901 117505197 890269706 275649214 520441655 961924507 510906038 958374950 188458822 355495206 134186608 602146710 857960550 711461422 332853916 557295599 523682976 540934859 479453254 166023675 258975069 883865517 741930009 699044747 688195222 867080621 371361941 762426503 930667360 622004590 129707447 733835673 143816397 862244028 569680826 381416374 998619039 688233255 247551012 399260752 590596714 493377336 279214566 994747844 547039419 600743477 653089739 752729647 982159769 250191529 492007251 865997957 951650546 514546424 403600588 914976137 272653533 743936008 662313976 371111274 976052751 191779686 625801382 598432610 923920544 923610135 289478599 777710563 681111552 990129203 159838691 374121279 607475944 207592015 466398522 410273779 141718871 170145974 580757126 424782610 825499657 298520262 319411645 401454713 795710124 110810984 183912879 584476239 841284646 942283800 246688223 919640590 533662045 927094826 573251203 694200245 730637327 925698391 488750004 131515125 399520269 612614505 547496175 298101861 294540055 779107068 158402246 465005710 568440639 446877226 651467339 980355501 509747059 650565066 907094038 269267180 594756971 971939503 917740391 782927653 508499204 292333505 749555530 938427531 123445804 412241405 707375351 247121765 586338503 417756915 191108951 481985692 253971726 351817231 519552408 216943945 636618150 308828893 476991101 283018909 107998100 783319212 615592350 811926209 332121862 116175683 198501390 407130573 215603359 525435633 583431927 579762759 970463447 121768615 413495613 887981714 599638469 916051554 878270413 550535215 635555503 229257883 224991601 328321179 440336385 784167734 910224841 968711741 684030952 493048647 609199990 447140503 143202167 354700267 299385638 602886268 450692493 650885018 721686450 393162681 592366605 224045820 163728022 285204466 509192444 994424596 148619665 202918288 168994381 710944374 672813478 513670727 316366425 803787335 946659608 250505228 987360125 381410389 376729005 440987949 837264744 488571113 793073978 536962357 807425787 921995980 585937313 254408034 798764406 321282529 651277040 282232492 390805110 990048500 391005399 516087627 894740015 518196766 394712110 504121213 401488471 687163936 724096439 717651048 328327755 573421095 465877545 444472434 503664133 846015233 959733324 743491567 528443869 112598195 692337943 284005830 650499300 143175477 287939719 783470546 747192505 996628797 196963841 619555849 793386533 268082217 383756086 906921933 786160611 645734817 758433274 528479858 342416510 252797750 628745040 198055176 799931718 668653592 909726206 369215882 185406384 704479471 813365785 635803588 940884232 977589480 811607212 218697014 442686798 506255472 570528251 555862476 355999446 230053278 280218413 677750304 302405600 523691566 880940739 629593219 465098050 935432294 494965233 683215304 493625766 235194824 654074983 292056025 239538512 596603935 217912221 239314026 140773013 419055474 345089022 696055163 769232403 962850827 653680895 648416842 791357468 386289816 446455982 449328435 741271881 686223553 778589663 873185290 947937633 931833160 673085649 962163849 307654215 800968301 173831346 857065504 595346954 571367616 126694625 371383209 499325482 375005206 590003336 664627836 881815429 565604765 811204271 629348195 344877552 460662917 226965293 733093181 384120541 536161027 488896492 473053190 777654218 514855356 878361384 870463046 150245792 781180507 783554460 737667199 626563295 116111465 558164420 735076147 211354533 479518605 203229570 950302101 544448821 663492137 302448256 934763104 774831468 962325494 347863581 712383023 313466876 697093859 983739469 657868837 681436168 676143784 389810147 317988029 482244361 805446718 547188249 769675595 924603257 443701712 704228991 608601567 927513478 614239326 795439875 695413927 319661513 214939523 386466585 681723643 207653566 597939811 379396074 146701323 649678317 156568774 855682629 857687704 131700669 776925179 545054461 166054296 467537597 130439714 504145738 166995797 301540453 775913558 936731039 323328773 646831818 351423119 294256763 665179008 185823913 240060692 851699442 123808002 399259146 653604195 858848383 403588341 784047735 367594096 125263134 395497267 445946684 200063101 494698253 205540921 135131729 705666987 561507372 189156372 529845270 202369007 184146282 409975733 552796742 560696052 596380024 617363948 180255743 728400369 229726888 115266764 666711720 431659228 851508348 202576042 762697418 529416829 352874272 677615426 502389834 770644248 743978187 130149893 279911710 417878043 975216527 339354089 329478835 591844608 442347573 444153096 569555282 335342505 708801935 845844448 712073403 177262545 345666508 396246092 585332196 611673357 206624569 255717712 530685303 380003034 182010192 549126165 965233767 903432966 633442125 906970498 654310865 554921826 508402235 812579139 866369317 820878468 429884941 216752854 708924786 434887863 643792013 669380794 883807988 933796586 581402304 458878990 622641630 176609271 839515863 997865408 933086355 560728769 157933061 160897304 913477628 276485500 428200828 559616544 598731296 258567912 374107460 678944325 825744426 594806690 553961247 650611482 628226476 612671713 267310671 340391058 165183028 869680215 728776564 504333171 154566240 263323860 852377265 862960345 100886099 520278572 578265709 774318922 629912023 151013304 332627185 919888124 207379064 828620414 450993966 916058536 413151106 878057376 568795936 598068023 723771029 162571057 690328531 466196425 533785085 336187712 771297149 860315891 165085137 315666275 357926366 701111082 398963726 169230370 290061712 935653978 297038004 184317056 905116052 131118588 558448488 675985821 705364888 779650387 151684971 929714493 753893864 864479014 847680316 706040006 617024788 728442449 171239855 776192315 337696795 461065483 496294244 199177602 992445806 782011660 451582877 658630772 313351973 291877996 362489674 705382646 143870101 964831020 468503578 417687514 818802498 902229613 533779937 177760876 407431873 551204522 274869935 482250237 584744582 549564726 966596284 311745633 356571882 197760187 730536589 156325187 799301921 922078987 971321872 112307825 241157384 878104128 617782870 727347275 417438262 902964803 661173140 260928946 319367677 895092421 988269191 779177841 571495274 653223861 639728497 933812840 456214590 659825234 340844042 968761009 591888356 176523943 788016950 375967579 444767507 909788107 410171944 356738225 440334375 936485928 835727250 232134548 900190240 903715184 166861262 754777438 202007023 426631747 602685769 992976480 220865289 613925567 740738392 745413802 934554049 414055674 281124011 751465252 811657806 437605852 252345346 936853577 246494582 908877836 432208161 767694001 926464449 511635849 490927183 118908292 319752425 397719652 487787154 336328083 158749040 840741118 680339453 350036421 619794963 745211215 974646187 273892370 125288063 202058079 632415203 305926904 303737856 817893124 600692481 988720834 376367071 412810998 527841287 818132096 659559589 429219055 332481362 755017509 161449887 880149626 695212834 836582950 994052320 316728062 524589015 900773200 795196222 231059934 980276952 110844432 821304033 194383654 149045246 195264519 907393895 408723290 983911003 789773463 343726011 262987012 497299435 661570784 117142105 142774664 950287598 470958125 587136643 932696641 328069073 865465832 636606784 766394854 979088314 746052794 409501435 656862497 978965392 152761352 751052959 745945735 740186460 194666426 773689822 146609790 483747184 645847724 584548935 852790019 604573138 252438415 266540474 835955115 248597311 957037556 354609576 661367197 731963449 651325717 627653776 605250408 175848302 449616202 472369217 401831377 943883167 376341949 111290573 866164491 132188159 150369188 779207889 380593757 368183288 488524289 311622616 873203989 381171597 956235095 474520025 129426856 371671876 843164954 438083290 727531072 105208357 959888759 563101124 655707846 474498336 785091452 529798819 866696706 768728967 904196207 131053615 289615016 772407996 477840716 104467784 247833025 291613545 789530669 333841933 917676324 190359210 634016438 438699984 641761534 149882326 382939950 727430246 993002470 498471773 203503145 693788764 983389861 702580353 537761877 201274050 991123238 298450831 519821757 830924625 660929585 553612574 417945027 227144249 985259842 870045726 194250915 632822359 653452164 159561828 134568385 702713175 305944022 779675154 728528814 244281429 494532672 529897211 535314085 449802286 551406275 206806536 729579421 423406043 467568747 810601368 102380897 635296146 698751065 640143819 127291255 397131203 576597529 288562411 288855850 572854276 835611779 799759974 250131145 917310123 232878582 321377205 836156829 755994283 387826471 491662989 690965046 515692631 461674255 677960611 933640398 800181969 465526768 743997576 123349968 807231028 974134157 435318011 445833840 329608980 476438075 641707814 501827022 637610465 493866976 655280630 288965389 183405949 468373754 249175575 514633435 178751914 417753189 785690623 662579939 553421271 500819354 764601867 958274134 405836074 464859382 345557936 605782840 827830855 793217677 557385088 776203617 644326595 856099897 210435875 759948323 706866215 512021626 225030843 624823453 878854254 103142822 430273490 694892553 384508700 812151016 504745570 792601317 920450195 547804497 432944204 371574268 138397882 330697618 749084234 554311958 856286433 143725809 519996856 373995406 524158455 441957385 998049846 660548956 945693690 338296588 131611717 917890906 234767249 320282352 186861908 207654665 920086486 156515255 549656386 982796786 661553317 888254469 766503782 252251790 377253617 651605733 349795656 392838834 256035482 552061116 988787566 541800826 992342934 458283037 354749762 718998143 280065768 978966539 687557054 299422158 239606210 353600788 379352716 263695806 430663172 981673247 132848594 116653932 678001162 347698488 453154693 934479424 748815921 579970024 899346453 877868457 495042296 930238854 886981871 472237565 360077375 772585454 916668163 585709373 773765460 537869235 856655089 383086819 720278518 822272403 483372692 990648039 806667780 788378353 851729265 186176504 416614765 945622762 747028101 736982645 977872359 932078781 267936563 892484637 467007341 906985609 882287553 920790296 187579599 990756425 557668652 548550213 547938186 465879897 284203225 399076339 942055365 478076732 775172374 706290880 749899040 292013347 640547231 336912439 888277978 921091251 505126868 705278484 535543771 466132539 166575410 277030016 246341136 249292524 728176465 707986978 321816270 925583004 493866310 338486571 281871519 610540527 553051797 951554694 178896154 676579614 988229802 380401197 323896338 666546246 519053601 417040016 511148546 270758582 125180871 812939476 227824894 397111447 451281081 833969198 103635865 958162114 961010334 672615773 786224849 369263539 811969579 911816170 591059495 721715791 155167252 561469464 749029200 683485082 788378878 836515477 664941202 972508697 538547173 312549534 434343408 667826106 917680204 426159088 462492946 560671067 558631447 706078228 790840792 164672695 741843887 717771903 102054626 958839079 916983670 934406047 182123983 677174507 966376938 778268517 893378203 446080749 395124331 694385495 148902074 858365487 740305185 696637821 222716284 915369162 758389700 260608250 610809457 732067504 283854506 557768927 822664669 986089770 727947810 326019853 402265017 303941151 496440613 707447278 785530021 947789108 753915762 612580630 507428570 686930334 953202684 380207834 530021769 485862410 828742499 650731057 836879916 865715827 276193360 527724986 735649114 585739581 299324433 793299447 262374319 878026986 302677954 668095412 992328349 409982011 981607377 309805915 671282975 536977893 196476002 745822484 664832678 366460426 424329684 308571015 337612763 380386317 993820645 719127798 367915960 828897637 108506257 989621690 107323412 563886248 261999320 488780852 573319568 229326773 409526860 931611611 427831789 856772101 486555336 673338407 179174368 464066955 728681533 892010053 872026684 861116014 767170514 276527470 721121326 668345318 485298482 245586080 578197803 718533312 952181397 908592394 556632579 288501785 463442637 185010339 651618525 960161230 778851451 300693533 669138433 709505661 261498452 769387781 375774688 520311995 958690901 601332114 226895445 282644271 150497041 543772723 193128397 983260957 500736922 297873270 370564419 588282281 199881419 451256944 398626327 991140718 563714996 615943079 664162435 121136350 426092435 709751867 813950674 552510474 294083548 227417725 502485003 614412355 175397425 808061158 311865892 105882789 503409265 305141614 426384606 690554594 412145050 562863791 472400556 533585667 305842686 906467861 236901376 575201718 912500873 713413930 979153612 155482865 337365807 182869550 448518555 905868684 108004711 330334244 701687031 103035124 184371249 587478256 415544425 852123369 206422567 756286713 261447597 372381077 595771648 800351326 214864923 154007669 110296674 663016926 740530971 164529906 484765934 589876230 418342402 184734915 887985216 551141470 529651185 197249992 749194213 551292542 217192795 504302161 273626423 742195373 272172684 197571295 906792406 244015289 974488736 725174769 865766311 817004738 779190021 710261725 679437997 705027644 108698224 998012836 415634498 184948751 438286958 261740890 692097521 652383599 117113541 146839286 900841281 475937186 507028054 506404941 323078050 434710579 574698576 892740676 226688063 130328384 810538995 691595060 490941538 258927228 597205353 724638319 271666530 844433099 229322991 845774275 958676575 753745217 833259461 901398484 402438677 599688305 954074762 310598155 899830749 635950378 849372682 659510416 762330473 679865767 817356793 405619688 388735962 531639669 508016764 982583366 228561951 330111396 135904364 390405709 736777768 883741646 503586967 414257154 545124016 157496884 999591123 717909979 713832739 777461859 377400779 371603177 455816909 537349337 124421535 934595931 819731399 317680496 220497883 758031326 260140370 438559107 937179795 718721655 306520653 729910827 817837720 483511085 380440886 275569214 764810695 899237727 775295837 598211170 274282010 761751743 367888340 565798689 360152007 182288793 285551296 234643794 988401708 378853725 880710813 479668117 804906993 489409239 675738350 937011624 257511898 358285371 998181286 192381255 759073002 444873507 432852625 955033955 132302074 973481985 947178035 797809726 234523138 811231271 328390562 561648979 225045030 648944827 474345177 605179943 142230374 780319196 784863176 486834104 423778198 305343861 992448383 375955801 923350167 697446111 274759337 455953689 180064023 937173989 713472006 874242698 318334265 347976024 479516173 332609678 558445673 720453755 252186033 865498376 441230951 111424038 604828875 890306454 979382719 656947273 371895524 168275006 276159213 488828441 439424306 774346111 143478294 898440084 635466379 563554300 115440031 682147925 210515009 816447927 277045933 534564856 312006710 615202613 757153385 318404796 782546432 789397995 321830126 529870692 140812307 206179916 109467346 218978490 506988045 755582443 439074139 645637881 168897709 452138780 715300879 825277073 203153396 322476967 354380276 688838359 647873521 242324416 322911872 505296141 887416293 235207606 708595510 939845421 411629981 447469012 891257367 896162156 939870009 480850554 695955561 584615412 723708529 805665487 374923120 343878477 157096028 285084563 207969567 598138666 862095846 510511017 467154145 653197865 696711869 339709563 399733811 893370818 627844936 558248732 742374674 822269199 872080509 453666690 918390531 789564577 831783614 982836602 436850650 292280148 477437519 526682032 135279069 315802728 179741377 191747714 510805694 891172986 796182470 274357198 153969830 301120391 238949400 836268628 452953166 543219014 888846748 362985227 389663039 891698229 314109197 991914812 540486973 806906150 492394594 711487173 806559310 788211586 925490488 336266650 808282341 339513690 350432698 476385883 630993565 339178560 520318548 568090525 231232465 858760166 866881406 393002936 149502660 976457918 458127580 451396134 751118136 909148238 467094279 323431187 621729190 237280750 879030856 947877025 910571476 570708868 595266486 127906545 615985120 310064735 631971059 765543083 240303130 587000602 922601701 121543540 595199041 874760997 116260505 735174059 322971958 374581842 305869653 848738509 459491301 710759759 349882678 544348873 841406724 158481649 109406800 669501581 278383409 526283182 669240065 847069395 426949508 806733454 444862619 417507658 634310016 342379284 868992299 595678064 693896591 886211161 900036150 385777472 588386536 118917053 173017630 101675954 835318441 949462563 806089790 540811461 708518938 736624284 916325896 376745596 825479387 642482916 173884130 104786867 327049143 360873655 689375928 550670151 489112537 368458712 888146535 295626657 193436025 733078887 631703782 605763842 333967947 744520742 432157801 991693942 933079411 893850596 571537037 939919001 807149765 698757092 475439481 303099528 566895938 194366371 598051625 204907315 755126947 835785323 709935871 298434388 695066444 441014234 426415444 678404353 578057469 987311460 724821482 521941420 263364916 193232973 889193613 950723300 596016766 539875722 565659858 839191262 997502830 906482326 631413449 556165022 812987513 899872771 927333979 583516572 231819343 774115016 527916333 226362678 145901841 299191371 160356410 832951136 160435167 989776128 737723328 416207246 901938073 327950846 139119967 899366886 217196658 267157205 456958409 236195023 918082460 678949936 232394355 461987731 954591484 644057802 728870664 898390463 193984467 380589406 209127138 621614686 840881849 348069956 713586698 820037751 872394931 886439238 341564738 184777467 276082794 694731145 921501057 490712411 878012713 739443231 674429668 947490336 740094747 548885912 974907782 207610425 539990913 717292181 224170546 402000249 921844585 518755038 874284324 340952176 584956997 141280608 202013098 329891494 887734020 325796052 909071645 941608577 542708137 441505098 120067014 121413384 772951239 184042889 777295465 257510519 130623706 144672404 720137998 699089045 239651103 563540523 690249142 323975747 499245300 723717943 153477896 201173273 485830867 729443962 762360484 300050736 686083089 390528912 757933327 162529395 422495993 848496438 572932662 398947356 954572662 839495486 288389907 519499397 258652231 621738109 440393109 201626748 107647792 767930305 309043881 608866584 225381384 877566736 761481448 153184451 681048686 762750764 482263849 300671576 156415473 569961984 729078655 813812408 975939669 791407592 100680859 377675090 968899598 811732958 632405444 683951155 594258927 671129676 868707555 206134116 129516477 526437240 738121871 693205601 742043961 691276984 388377962 292232987 575652229 416157635 572301983 357765995 349074411 936604937 708169772 529577851 240488969 838545527 641405805 742205445 868928239 266827470 840675658 480189559 193301244 899234758 794314979 772325894 846951521 938265609 280288881 773124972 235123147 425915199 843550439 807016089 924866279 573268464 433138228 899116871 543964135 337436178 411162803 720045081 457128377 903304733 241357614 513424654 106985892 865787528 832529183 619580833 507355635 981119753 112921826 166174440 319545854 844400492 829400088 258546411 478981627 545415835 951987414 928343786 516338305 209957823 544609843 659485620 533860954 174394216 474748208 564811864 691752811 385932997 654155532 246541361 837656912 517841365 483058118 453929662 346341359 379223488 389668953 917081431 503312646 724426276 731318411 663721156 774296102 725325144 849479446 449127847 326546606 578174460 570283998 901491462 743855128 952348724 909859200 970090868 894135549 877983721 371099065 584138132 541168981 689277400 359316530 408953049 942879076 471248779 109708377 243386046 504487634 553698003 665250547 122624449 628099745 438850491 527342845 341382600 191803497 383662881 961130983 933540897 108488077 730410944 672848341 114381839 428691106 507917035 591633659 247615674 402449568 303677163 611900986 590583703 563311605 237188120 281708802 459824599 805376467 677503888 305756781 914927708 215523182 329409238 939903155 560671246 518051025 210258099 586985432 752851911 912418726 951850975 151820251 818570587 430935351 243161605 464007789 292564819 356898114 975234835 987979993 693006157 958790487 500890264 886347592 864215045 561652820 161164836 170005349 985596587 217209001 592022634 437008921 904591719 947398667 858866782 850309592 666827686 350341704 193602314 668476230 739952559 914427623 636294805 740825312 296576511 624143992 886833822 881144473 371664895 686862845 549850414 886891935 932546999 886834189 717240504 246725755 283277169 422664513 263878059 131171937 738474582 315740323 120691908 584535593 575971122 807421612 274160134 305707854 863045794 755845617 730336932 311678306 302929552 760610422 982575260 676633075 277473921 241280811 915267719 630366985 174124726 822377189 845898301 108464340 506344664 774007019 535404973 684144579 368158897 750772916 910029143 589166457 529812755 980883572 891070386 776554490 585830174 234062503 273729337 658380339 734879145 457336075 333031028 571738479 822844127 635559325 318721462 751809503 970989013 306153576 643633889 430775838 215471610 951824355 701660467 903385255 598050381 654815906 507143361 281254069 107003690 886034404 944571686 517325099 966666061 993108219 113748381 710371419 500171637 859443260 256405359 209641091 619127613 732321051 845421386 700939336 140727809 477865853 266915118 857756599 691098801 412722237 132341941 521041951 566788645 398740732 620580953 719904210 515556117 890346356 802499412 837297630 212118019 671287192 644412932 691302780 519184575 336067945 416318875 708222979 473847076 140678777 136098776 895872043 331868743 400889514 276251213 718404669 522616466 356973861 543747051 325948705 810745176 467446524 693654570 490951673 306347651 777679532 551214644 840729235 766084008 190374342 899632608 338207052 119969757 781471946 204814915 148623698 629247620 786383125 168682679 233458840 525913587 158043250 129997401 150318942 925457353 552070468 537989178 320667844 163141672 472792946 899462773 674525439 364373414 447332949 768185703 734105369 598281522 930822212 578641037 549546264 743494430 482072657 870074305 548704238 394891779 495788754 744222082 226074750 717770367 946537011 596162395 835493278 531210877 342005238 932267062 430214997 812349921 282078435 775286010 874163091 494002405 728344480 291431462 457315215 579384057 138352757 862159729 921625470 415223447 592759840 468735162 286943907 115342208 709614273 212750731 455708122 388369796 583203259 425541993 866928150 720125523 623767076 526041485 290047924 548899081 876077300 581292665 849106778 342584429 323050179 712933237 303384853 144118769 653336006 878069728 381334995 146474312 316374283 730144906 337478746 922361379 303842340 865439786 831304759 527660499 197397100 379572854 577435881 160221757 797112146 700131559 820351359 546531542 270748425 446044665 301840786 211281328 400588869 504662628 359786547 464036265 288977918 792905302 869007183 520562465 772977120 102403430 205037830 960429120 607335756 254475614 583206331 147749314 932320502 207495106 311991318 724967761 773330991 899321899 256033876 616929133 780253876 507744344 618084060 998069708 350113243 428467948 894053021 506221458 240350040 291891539 111432319 793762291 548637365 260678605 588617023 627246284 883881801 784788888 604659798 666025244 159592131 412161413 115524185 982285613 900891989 506683188 424462685 861985709 424751591 503688103 965952626 692105750 986439083 753467568 934589994 759269444 819325520 646297025 673034469 908982770 497533298 123480737 567464361 375502228 182412080 720825073 159024919 448985923 515473902 630535181 310451025 251527108 920011757 382227344 566976976 610865674 782477249 671968046 120951963 906646804 967727968 728647728 187173151 690687503 463052270 636762599 971521152 368758963 217709015 694682286 358857828 516596841 982890104 888209124 967269075 428891042 220718783 622228128 669587907 217484714 636534630 270674245 435039146 250022746 888093723 569507319 162581979 589851740 804257006 736964102 954953482 640921060 773605921 607927871 781384843 968575478 473885283 839193609 231487843 432430308 114092172 103227048 764772913 435887803 986877787 661040921 566940850 665972423 790317398 350484609 731553783 324389133 122466464 241288289 753851635 559285731 631976792 434969263 839756722 600357259 959372020 471256339 919294921 107261178 328976432 680618737 694304993 784236046 508803397 575599745 600522037 978542973 384120070 799625607 552520106 442278469 177925354 469640510 437858929 671333654 671764132 299923979 658011766 466793291 348222409 145613278 824893747 688854402 981338534 828371356 276131375 993896412 637326680 148956150 890973932 362887798 628469921 263305071 576047974 277518262 922879466 971785807 234290528 529424723 749036469 135946519 319948673 426350378 366249481 298269460 750068608 586045162 741891373 895103429 825057032 399076212 243925110 989175041 830910035 660489191 596109014 911176794 232783201 369352123 132180581 261224048 817655995 156879766 232069657 707279277 152045963 317046983 789398178 142759318 537426931 263187317 819246706 673604055 577286781 351824202 621425434 153098803 976993875 610403391 296281712 108947186 737746324 389574812 268867826 119384229 917292274 302547081 405113201 653631662 805311134 782947740 724481765 588278833 712533346 359645250 138501422 202869948 180226468 754979778 700684752 912306887 248220322 175711306 916422230 690236876 928524540 670399008 621553819 365756666 874611631 250164218 448409689 158629187 907563167 493000904 550034564 386284868 984640116 476805033 660412769 549892471 446113668 105810431 708486063 346423033 357123522 191541654 405317112 102529101 552201365 640274159 283502546 903252927 496613838 566799065 526779501 525520879 800388792 904868778 653732539 549301358 829978810 796777308 837743920 855532654 381565122 533103443 704948248 919755959 532527460 822058460 792249182 892218682 375927998 135145433 331450981 217789547 886789109 662861040 352929538 589482848 756203368 695953012 613400495 420604492 547805921 163000992 585577890 420621818 422623090 256650768 740715019 535518066 454678997 816358372 785872662 355766327 594990241 267675138 234447578 481297672 350062251 674332561 198686517 383023754 637506723 619225511 465423197 314466067 467547007 678389563 529264175 619846395 497679667 602901799 709630479 813891942 771516898 760752355 202857346 796205248 470059764 448191474 640279089 272356174 906284644 510895759 819731492 146178731 395820493 378248259 895934347 848643349 461653701 512060182 576870910 992390155 954075376 429029761 734887628 586110031 759555996 959917086 465745071 727329409 286288878 396538601 392510946 388608666 892901121 292592503 655723526 261244000 389818292 356007927 539688120 415105849 874016467 224222196 439318819 959994850 371398958 933100399 817860521 741556425 234948402 818555675 673137939 920896385 962429408 419664601 303680486 374357028 644325142 149693550 927951535 288935165 533986153 853266342 831747859 112366231 366120026 502121988 682686648 363863733 497733582 575701667 922485964 174611340 872287597 985845064 420443330 310879278 839244192 182808710 753194128 463803077 304565359 341088322 458463378 976913426 657496147 969051799 148004789 560070682 125708512 799189528 277839304 314595216 992796120 582559008 134919782 928612297 554347461 794674761 272016977 312216680 656607677 713014870 678505103 279354383 709363496 896338407 173477144 474447010 535683935 885272194 841201568 735184410 952490877 161520251 275117270 431267704 327333138 873475357 620458064 270356336 264900815 341530610 282933019 856683025 609083508 191282197 188388435 940376731 518790260 832855014 825538032 781135880 129621841 427610409 141945247 252760683 876976465 705299101 796502412 444458274 814456711 885718914 807410429 359398888 720545608 398817516 939977874 699220847 979039174 632389646 233140702 941357954 868711665 180706854 856415698 613544198 295075151 730036061 233340684 982103847 345190521 249979564 244227548 209325285 128419446 720996639 370359499 322955377 897275333 847514855 667015235 856968674 984569551 739450096 762621620 213157823 588501259 330840814 417928667 298962799 849414806 721457773 320104276 939266860 658964462 379033245 864043012 233628006 830802675 676126790 800563314 625053873 415093025 309936853 629617334 416151472 463386711 920596558 114930056 535747377 669101808 491450347 270634954 937561675 604593119 157344617 763336743 436456832 876033325 353042090 212828690 446411511 295195529 991354768 353033830 150937212 271284967 861529320 167686091 966312858 291056353 182564584 565905294 546857002 119527573 930766797 733339544 590248228 441336438 681290817 825820480 660455187 459031991 791715914 793633798 644526509 939924040 221192707 193671251 256570884 742969475 483577742 292761159 940870452 509094406 411712769 133166215 189070389 383789621 960740276 855507978 553594707 222469030 970751150 525763115 868313669 996527355 240966978 102717845 535401443 373149401 581830492 399566037 623094134 449276744 839831883 559333901 966866646 417167751 130026164 796788131 802009409 643570231 418551899 362075530 879133402 101172382 222252153 952715653 553737268 955032716 750963454 742490242 426655801 870542032 618259445 221521074 311303788 892106504 530613727 856679802 106072098 912168644 120997987 732098045 257147175 590695098 405905606 936183974 848073090 406591807 653058704 555231663 402074028 389924376 604555696 259094892 241967696 782683815 511229443 892551006 487961757 823601532 853534004 748281503 303411528 542357193 253422534 225129468 751887723 517183073 429799995 206533888 908291559 584726219 892686409 228527560 299145477 314263099 666887276 126861088 197329628 466792717 193392492 115704378 222147055 958180735 959407825 369622252 974093126 707534514 152196541 285999030 495051768 482118201 351646767 543844149 877668763 293645881 235004139 358107894 873909042 187223201 362411464 991171314 880550985 515340721 115011237 648858820 691013492 601563035 515673021 350734914 255171805 446177017 233647591 231516841 270560136 511233017 687333160 576222205 486589020 519274295 678241661 151024377 829439142 502070438 915046548 986286666 858935239 709775122 445584938 213554967 834915425 630316893 971859647 132345769 655538032 403740959 980952402 148318592 802769311 655918543 611869245 948139692 502314490 180709709 671750434 706292871 119987170 399192660 740790704 439530114 929085935 504998122 293136123 164447657 186890849 540664686 560970094 601565048 887943999 744346263 606534131 882938851 466679816 543122873 451273844 880389554 475152155 389222093 216559123 930856834 911607550 557758280 358698613 847668279 769879000 183750527 799514039 629485261 389498814 587832617 384499404 755321001 953390962 486153138 626170681 601912667 118234269 798330274 445885604 791773901 161714039 963749586 584592513 298210367 137191687 683818806 397851109 917065896 421596164 176139666 381192851 320121191 295506523 950876599 582480750 464308350 331642635 625250933 609333300 827015077 533758300 721830382 923140203 834616178 994264925 886712210 750712716 854743809 288923246 166183630 872177972 755831322 891714111 763631286 388991395 665205637 924113286 187712423 174070178 960674009 486648257 851347338 200917962 695481848 970148099 245092431 883925789 205795556 522330377 527349321 617754803 814640005 944857373 220360501 518086617 210352985 591162017 438352847 203741537 436962551 940435431 712625631 716319820 846792326 943295260 407689139 265592569 554606373 795322342 157913553 302751997 642535313 998169757 755811025 573428005 615710790 237857226 364526498 276904499 743684823 595738524 467628496 619045886 589304219 916321130 984429423 240719237 584640146 337985011 651008439 367974061 664915035 495204774 651762368 397573264 137101866 479482735 626286838 476630922 824074542 725007675 161540641 569361051 186862883 605578338 478784449 872343214 390307682 230757073 519615044 135158034 871654607 333409861 135552270 552578937 275096336 473238853 200255230 243413030 697721370 228885372 115669481 805772002 601895175 967242889 505942024 458865716 435197697 150009379 393233136 763832416 872459174 388960624 895955472 174426533 734542904 245137538 642243211 242420731 219856647 788801733 875168483 722482532 281162020 902308410 404700965 613384267 503807634 191700707 877624472 778725939 783394765 290542664 983797677 730753239 163384704 698470353 923022829 686267627 403091337 251829687 581380002 200615473 327328807 738829590 512887751 408302449 445135801 230113290 149317066 111639357 410690293 701728796 165822778 301455380 146911479 680970405 181897110 164479382 469752863 509523967 148588582 126194881 626807956 675259885 287702463 583584706 144200469 772791392 683478076 633682772 605544861 727769717 911860534 288159735 100004018 265591197 695560971 721064594 672187344 716789663 349696232 404262405 668050761 873573335 746622279 981472472 125395175 504359111 770478590 710990342 527804272 550749853 496957854 235584822 970177153 586308811 262871809 924927138 181471950 966797074 559926600 592303680 195077932 519730245 404681833 471175917 637511509 238126988 306401140 863144764 858617675 613276332 498577979 883091273 488622060 578516034 439869908 887939027 920957125 502835732 983369658 462081884 904774782 114659540 974374182 411422253 342342242 496538276 418747886 306921489 580685488 209960090 203281235 157187602 205335907 447932085 116318116 358411883 383276084 860181970 862261295 402899796 803546384 316807971 114662532 352113484 160625188 840567366 947726525 786246369 106842160 107855623 123829894 912489175 129272271 128189053 747280837 428326204 763283294 485785776 933616130 473544079 994486167 357846476 403481852 462586050 681840136 896693171 159658444 816290818 672988710 805388502 129425456 111060256 648342360 638475572 549990816 164630365 224252856 346354906 526602339 960678769 947068670 961469189 157437827 499764624 143808991 207404038 735880567 440355867 217490133 797846070 154751441 881317022 846443850 982479210 879473961 502777494 348191672 630903687 139321638 212724101 254964764 228104742 399559370 237965751 695399967 554421399 220399126 915013939 872114005 973654692 769111125 793445242 138334650 734838017 466052326 657470117 336235241 358761858 454870102 338227295 858129449 574751428 953771807 497285693 372248417 635511944 345800187 684872710 642303175 204589018 148718658 578929225 198355702 422499005 682436283 751516681 712418368 521330621 719548182 713983327 756165468 455752818 311035579 429591329 271148546 521811936 821797070 442676471 801871093 373537128 588076111 551250631 387725263 807981290 504752312 241860847 625999989 195576422 281999149 432548499 670159519 648391183 953416416 824149474 790721451 184541027 859002321 262458445 421707685 983811790 997049867 508180212 682020713 853746644 591948134 673883540 255811450 786538334 528202012 604980025 876043135 693029123 477238596 537497577 121238647 844026165 793458654 524779557 518749138 299259108 249972908 298940771 278104379 456798383 740151257 295991938 207460298 621862301 295435660 886393673 853692348 273964615 514758796 150063131 382831245 982922909 583509712 718114489 789683722 934530689 552678997 465531740 279216711 340593958 635428626 974570143 931546662 422400519 646137642 935242561 622409434 605924406 468867448 671580816 265513452 813609925 781165008 654813478 501594069 414544780 698490105 443077158 576927810 924242047 600461750 898876634 928820400 520359963 617516604 275217148 506473990 149486242 487489277 355929596 247953278 844212648 191640416 490379179 769406391 970791859 376833683 658470605 839319631 129040700 625406567 258123993 101272348 951247706 672803637 454915792 507323903 797916316 424970430 580821450 635680046 368121114 827431424 588921546 242950936 706447113 661494453 264307467 625331167 995277021 341885407 773464562 116097325 122780011 687110084 988415858 593486364 729078556 396397845 106929180 428287893 701030999 214269631 764919908 969023747 728925898 366902531 677943487 649596866 807415509 613769158 398677134 462942789 555719528 326651635 544618689 954650148 185859077 474286355 722290102 320613688 448560518 862368200 376297998 768619081 776098794 311843161 737919135 644210479 688293416 979109452 657841431 175257054 991402210 964349317 320347740 463065567 194716965 471778518 491570626 530984215 143534499 647293000 436712532 141601172 743198545 145791348 692494129 189964510 731960689 867651788 471147884 848096168 853098652 871747007 987177984 326631590 555344219 578801668 972681637 556313618 453800101 107839325 859975575 851545947 397585053 610151339 467758312 268899139 475688116 166516162 878592316 487368110 801236297 425762153 543183587 118651529 325855371 245605517 470761294 165895861 488507581 189395938 840716041 284569825 739925357 624276248 599785203 425293897 272363212 553021232 865769594 137368879 263676972 364632369 313797166 390749923 404150735 613745719 393016404 626930275 146202583 904337470 186748407 284535894 554202680 780166397 724856664 428758391 580607643 151121886 192181696 776349068 316559409 952017863 899916969 839300413 671250714 618349585 198373125 319784674 605816812 611148923 660902667 483796504 254271199 423166034 647234543 174423923 172448296 988494454 638022549 105706535 103684193 654429412 325241140 572287416 287804330 100067438 713452204 677452307 872719719 634423612 539275152 777505848 572235222 137173202 942404140 464912287 580731947 387691132 604824454 524423645 243053327 420161230 857588700 950528259 671172207 975387589 713683730 897814513 311089263 221828506 767413951 889202457 539673156 542443954 988569574 850384169 919780259 786090455 850792223 277506778 835516974 747706070 399639282 184286753 855528042 886715707 441381026 979360648 515476196 468306368 245586529 738748612 135474770 889491506 240602176 669671381 985164934 249961858 938303868 719865096 195853311 763674454 873123926 178351710 704322659 771845342 762386419 187078243 142070794 735463919 170369521 626277639 645668660 270758464 797214414 705325848 979574214 689307300 571299690 970957178 222054783 433487817 393246182 959571972 776087865 806731754 930616260 839200730 401301915 119503890 653628755 708368229 556374107 568159759 735323881 888469803 322022806 117114895 331408614 400885836 764005526 849566157 186424824 547561600 504526214 436233408 650111601 709962663 686517211 777694871 805695898 530058296 490407343 412295613 124225445 938079729 380760256 380897212 177626555 905568050 587200156 988004719 610184435 690419722 880597442 942226637 137397574 431758470 790023106 225316871 459284895 936100012 475092859 357448656 162696058 153388605 575799471 466336877 714221138 147293028 902781928 571129037 392013937 520763196 471631733 894339495 145984512 335602991 216646994 374198502 257703252 796962263 897660233 204299289 162499877 805258687 874724141 857069014 321500984 584460065 554520967 963936811 431108584 836078177 955634017 294666272 287500433 223487021 288505709 207337486 131800885 479511462 252660293 346651652 986250089 672268369 402206223 143254084 419039594 751723293 505855769 184087981 290852203 938115835 665733347 610333629 917708041 335793365 754049975 893193589 590716630 104286141 352300381 229857795 710300313 910967632 625517535 363276678 538653569 722507848 751483173 185284210 544439637 900934563 193804128 422225141 991722752 469970246 674007852 438988051 969893478 854431655 466693322 824255913 989718163 768018050 763018290 705031913 260338329 469927201 882051493 754655933 512285510 404183938 274000484 169657573 212142801 483074976 868451495 222315381 197333339 995790595 890842842 978122312 600934889 648036591 672274989 369107398 157284399 255305748 356633253 483214814 530806537 175283136 456112460 251244960 685133605 493503151 161635306 590562785 578785969 277029644 655367506 974164657 332204523 668562404 279864451 262595543 816948585 966236467 827254953 860138782 157090832 375319515 375273603 358967947 410589933 500719709 821982333 332587770 727736512 694822731 598062160 139720343 176787767 954304623 223302074 795468674 990745816 941466337 130577739 599874398 438951649 769711117 308759024 998224323 881113424 987900084 374176556 258762519 500102280 544936490 180418107 451948421 978901073 353357796 593827754 285699915 210757892 587666255 741865052 131542019 622260096 674162101 852360342 823413698 397562896 515367940 635511494 271103842 312741346 856643214 932986926 169227339 733596251 197670137 209053089 939158010 504439272 190894988 188060290 115947615 156873128 750923402 409475673 152014965 265671251 952448598 892870981 303146868 757368636 940690589 561957413 418326907 829398768 519456204 895091832 513649912 842253153 460698501 599864874 197869285 757012970 955727158 418574190 563074654 431166350 395572717 824424859 858348864 324092072 931400423 520265850 897077451 954965773 275278766 906965859 353004325 253623484 407912103 802715048 173766446 968412331 626080629 379106356 581089675 617686369 200650118 108382509 744066268 754213062 452106852 875190483 497721433 472633194 515110777 429059800 620605494 958099708 466008340 182663588 115508147 221690825 586825794 331935038 857859010 346136038 965612924 504268298 858098233 865192304 980862747 493496054 765837440 797090038 165622101 347097915 932656326 226700413 676861034 716912057 748002791 627675988 924048758 391933729 575124274 162152569 500565965 156890530 441843374 903836300 989762716 685821153 842577611 165379607 695471584 265257060 389962117 670271356 348925884 538852475 573692588 748456308 889553447 406113597 812855271 510875628 307852346 513854418 403978242 681996177 757536514 774080610 684770033 806914074 888118940 637620351 235499780 222318684 708865258 273940793 262906177 381413579 416184153 301428794 248905711 520971686 482471387 489108899 664847822 870936177 931557406 881389417 274484484 897838554 978201524 795765422 116096046 587174898 306445209 696911671 990004280 429597782 359780649 133678560 500239767 723955509 126806049 631026173 436404673 776506161 945133950 409535322 799841887 237160813 146291919 634506291 288116434 831093534 869962485 561426100 504115266 290113222 351141079 278562805 805509730 440079771 156120161 620147738 688465026 891661250 141863998 598107637 124099622 432658199 834211303 768627153 337565744 210088080 569968849 354935522 345516280 363484543 105558849 355987605 368079900 662447158 175470548 686204773 858602202 278656880 641809656 711274664 504302300 666649918 708652016 392901119 237513862 421566525 270374473 903946428 248896615 799824582 239658641 346862524 938666596 772999554 101429195 186839592 712523112 649123458 473143667 789977256 454202659 767093775 491970201 404736875 200277500 390179230 817288762 156837865 930956744 321013124 213065192 666441759 344462161 804733029 986711361 929764382 993803814 316436113 375934938 219726463 434482055 367996075 255687124 738927939 616301340 845118101 583257259 910803038 809103618 656703639 406840508 154793573 562672852 400805109 205342097 373918749 456908307 241051910 110515928 870021776 863494080 124753660 840812808 893522442 243914859 336657247 680808255 406269490 860673938 681707627 165694119 784520729 671984062 735115643 228538547 841683488 184917352 322423518 176816364 385652486 800975130 102920091 463090536 351842816 166382607 286620599 931380704 989169848 389752520 367717969 400301630 288526371 483561284 691378263 223895965 444538135 865517383 290850930 256386124 780555156 360754624 190999286 565057405 710173782 583729250 444909530 334486246 601065675 719678140 531462444 246982907 631687865 963377522 957216966 259867743 307218881 173758578 943841001 836302858 938263335 116153355 834787943 537881217 845726171 513194946 891269685 116793649 611018402 272312014 877951504 697540449 563723420 625831676 298522360 712358875 690591490 955669460 352341075 580244579 752722931 180760109 256141245 207874926 748141441 361631425 873304098 968216164 190464753 559653272 452140897 898544409 887968230 752615803 547452735 879131694 865757895 700411619 833176527 911595539 934941582 701703351 798743467 891923613 777820944 495807354 261208554 949899235 636537777 718836861 880613004 807146071 183999527 105946041 220911907 412555179 124607508 660656437 410099234 225157565 902063981 637702808 939510874 922014620 252680004 177795084 840822675 116851213 250780142 935525099 728034683 324336546 833346538 593390268 386042478 542312366 410419880 880628622 844212787 723012616 551715776 974765936 407514782 818400925 363220600 547661748 502305708 173675852 556077789 586038127 679411227 570911512 140549432 811126845 782562465 531749818 312382958 863440395 892249440 483244604 991791762 104568555 824745776 168009650 355770230 542309039 264584477 337939068 485319608 955418031 779372608 296716943 555121474 281255053 373200899 672006194 587403654 626410940 143517909 580722872 244655093 315693606 750581574 700584832 347355424 675631994 218907630 659626578 783658502 229972959 355233255 208469470 476848086 171862753 839451251 976130244 730991155 678793746 845991367 552440921 780795575 529712869 128171110 755085512 480010212 265345350 657199033 519273264 450702194 848407282 386144333 496976971 134370153 635833771 107506796 197085196 893707912 168310384 338501352 992720138 124827600 321621090 990772586 111953237 294568403 460979411 194863618 751787969 326368267 423098786 730922652 585022397 603332886 368208486 939370624 527281165 754786110 101295083 506768051 864786259 396324215 983446576 774251741 805097513 178392564 897848796 605984750 707247904 113831804 505844095 908087384 663324055 533325154 761272013 911686152 251600072 482963260 482675852 105349234 412068151 676409815 472592845 964505695 988196458 756274297 973194204 952686186 845419017 584869582 977914728 898736007 854153546 407107510 831762830 915207588 365678628 124246758 280029323 111332400 106946561 739890054 541091455 343513071 172871317 411307007 631365861 385722596 638370109 786821829 625098066 450662781 106081649 235876996 358559597 788465032 911701496 424821780 738569379 982408510 161261443 854543326 987709817 958241605 492080449 972186897 945714924 264722647 933363018 721312048 490948892 389858032 850055474 652666781 907149912 368301002 257516690 432379186 794621608 301537861 125443263 949654893 839929159 806495977 235425299 472298105 494609906 721788238 199974244 341929994 188564326 316770975 289431573 535984233 942686393 412784970 856908320 419732548 982647624 385025733 835600980 562645581 564557355 967435583 802538344 493621011 623166350 815433847 607052544 486347838 140527830 688105535 322349570 131824115 680963276 919315123 797724717 105176617 444373666 185314014 277952410 600472252 249509535 714015702 902353429 777114316 196444618 472564186 999659481 619394563 254496296 479130341 505818565 153323784 943360417 135249248 297269102 552001315 439126192 288204194 144009939 885007582 928854495 321404792 871789389 901005126 649642985 274516455 985062540 641045206 712174525 447097026 374536843 964078965 118824903 268011475 465301354 856375892 801071618 874909528 598111731 744411830 502402785 794653157 303962804 477079460 365825312 399128131 525481249 440468035 312293191 282579125 543400188 134432670 286919700 619393436 266041929 298365682 318086178 113526215 242968761 984855251 826546087 778816272 619562661 232806667 568187760 649686257 189177128 514773813 812557573 990509781 249707518 748067321 911019100 504300290 452047542 537900290 736740414 139170740 889211000 828328024 853478433 882552772 968001446 619908277 550446448 781646599 549774728 101864367 401688362 382928234 673155450 845937669 805393689 425954056 174294975 733396749 301254127 116836424 398033839 551738060 377535418 583393496 272824177 243372261 602051573 478663803 855901222 849928121 914172020 663663455 293949192 638113428 351950480 435215662 378761095 312624895 753418981 936657729 786851320 328904896 893140190 770591768 366894643 622604873 741411962 649455634 666006660 276081609 457652470 318329471 310946182 419182484 981336291 833455991 904743246 373563500 506024687 387188182 377843041 356548952 738836053 479219333 642970110 465996496 372857188 642975932 867427319 575189345 810026953 543870645 816222319 637995117 151230944 310607769 756223420 827937649 793612710 143957083 397894351 721581204 570256064 364754642 118873518 795235716 311467035 990582167 534740971 574788191 320524207 695880503 849944714 573795279 595442418 364101177 931086462 241138553 411229035 638279270 236306327 310581701 456472873 765040994 760995611 517029431 435215472 779083002 957414651 548774684 113453034 324811380 137536111 329323689 368073674 931522564 280425738 522590712 313829716 352605367 662522194 895071519 388518245 543363262 113379019 127288728 624214054 741015372 256454011 648482489 930488333 223125355 900248798 940878736 452697712 930967296 855234246 800494814 869279847 447546657 645766220 102898259 713854695 878890214 541179326 540365815 226111538 728690157 416202135 455770074 240275275 147348260 196763498 922875484 353147077 233202436 496003711 580095381 354690065 685359132 263550583 948943126 720282708 441410119 596675405 458211689 824537744 204688335 980191026 700769418 825334033 613247199 589832078 943390210 424425415 621341746 236339928 750849171 919040023 460245791 320857947 119257027 955222181 832713378 748094446 757596276 911983729 435949585 269939543 888696175 878562499 149920818 705756668 101373989 432339285 329333329 947229538 910800627 398024084 404499221 142259211 328781910 532367659 236635137 919177915 501822556 541073645 392933990 650019942 146450224 185050656 192831128 367858051 830422918 832810947 789892478 293891671 278456790 681961265 774857806 395826579 586274082 485757660 193706915 542591153 255315936 828160695 849757367 581797887 373693637 357840226 977940431 678561966 330370219 790364156 667829709 142411011 629843283 477776552 455172883 375759684 197868767 150806448 217304466 159150155 313367390 746146462 252550278 401106961 854162599 173315326 752737982 364855195 725066291 902770171 995374372 453067917 283755575 808366647 177494379 904370144 168550247 658359386 811993933 288406120 150378518 684240342 777866393 430760274 931952150 786347928 361279559 359215957 877901627 154211519 515561227 737328874 799436861 426369537 223717461 937602920 389285949 265402555 101996882 929126826 465132979 261695050 921593012 396876867 416584459 170006464 417364367 562802861 945172281 148729811 278078538 840451012 244955495 366361750 359174319 280674236 127566699 822478580 493947780 161007269 999570471 998077769 930960157 126346576 406938798 463167211 770050211 497636069 976561094 104326776 746794433 918870822 584135558 390889705 466090312 440560468 466046605 158032341 703854230 792270122 478878234 720765111 608496962 809544357 495252187 292990736 810004884 189336517 549672181 423341210 542556472 648427800 942058379 941451077 545658131 284388022 992436173 531369856 102291710 491160316 475842220 871723868 327469380 862667718 537389097 603033791 507499505 396186265 419387630 786934024 186601923 540736602 134558336 366603494 536747866 294782238 960053980 154850696 575143391 345082399 474789946 836024166 449413184 803659056 196624865 794786819 113806532 595357192 707953222 355307304 105209528 848353504 603628594 499863748 880172368 988464900 371570206 486894260 465503332 418053392 808216244 106583962 302137436 783414540 435332570 193225870 494552648 648934576 929013883 663973326 471425062 303740010 416944060 830714676 543152144 724823022 538285733 550811511 600104292 141156519 381363087 435056547 569209925 681002810 546425724 927615313 143815797 826324063 958780201 529511118 629965794 725917565 593742993 411052055 231126923 620695574 328229738 924727867 407177878 415532887 835749086 178404400 417655029 411620836 448667352 280008070 254055231 705477469 425984817 362599344 399896991 715205918 598030888 847650852 791182058 408364691 600769142 345018441 754078794 391961070 582711743 925061454 862442340 502423825 414010068 963740244 415380631 443383689 247363899 360230942 220730399 186213819 275773220 253472674 263954495 710854596 555908909 254992044 691918691 124024287 351388486 599292593 412133135 159520483 973414130 761261185 728620802 594112978 757869220 681446038 420887046 178701752 978947283 290011628 446268178 773315350 977715563 593853642 742261420 598053121 825733531 651717092 478452000 333123601 259926641 703625980 182898957 336489980 984553074 496391819 856790283 509686068 177040871 869123140 198621864 391748259 244044964 744192553 124154601 567991826 354426594 928044353 294876547 710376633 413338474 201074499 691100328 939745754 972661514 558665454 848173956 506538033 155742935 397617824 574003776 803868217 251336455 461864185 196209337 367949630 916660330 708753045 357923393 405925164 920836216 617772230 854334199 667062080 835824127 662387915 685934903 373932303 737595044 366605579 657693369 230145370 843261170 462689545 694695361 882548372 493704055 807890491 320349554 910433347 319929689 555151585 792881249 618240006 417222787 369914816 940277777 879911274 957320032 169193604 430273130 721671540 437988580 553293354 424775060 340498353 782544419 121752121 523055146 455273820 103730647 634270705 645818049 618189959 328191947 792652143 997052305 455013132 344966185 335058947 212401638 613370285 959273270 511027383 704059036 145791522 299231038 535665158 568044617 800097473 972109518 221559090 762412781 300178819 362066550 443745775 479737837 212925056 938752788 804437596 559689257 361094513 679278511 121756956 686608635 601396236 923814378 741921644 528195328 679745445 901115533 512043067 322426934 580949056 858179230 213186821 872312782 224594326 787746670 145846401 634305633 303871742 516209356 443288914 457598054 223378357 178798886 691718258 148152218 706954119 146367339 614998425 840242331 636814797 159871322 260569170 522851307 114484729 750055689 151157459 164317496 975945795 431331969 950900600 479090917 573774697 909656481 295764445 174722599 176796317 688674650 278897596 350293785 431317733 666004033 110578091 530661559 344680601 964831031 919142666 611620190 120641777 401374680 706638059 377238186 241319391 205964811 287101351 334907850 321336978 960755725 271352858 254983728 551684824 224907522 304697031 185702601 351973586 658515272 908075261 567628563 241375589 106339756 657562066 208943346 326126160 229268913 990756299 814820319 550268354 699137409 472462835 453159435 968199428 580534663 377762545 230480778 775267008 725750781 295722136 412938341 438519727 404670052 817993376 435460069 337318696 393082305 378949899 220572381 630360966 700570871 252018184 969761924 581910540 281172841 933456470 845984262 333546720 742268205 743127508 996176897 645401197 340837047 435366231 844603558 151823969 361957627 305539127 784788607 985769283 576551501 208357961 414250152 523283652 902172478 315751080 969086836 528540155 593164530 987084583 251616814 510875512 642940523 535877704 660644035 944147867 938862069 895852737 364103209 716489162 977941071 705966933 498018386 928151852 686448634 107963554 868181091 538507965 478552079 745203998 697757314 810524815 787367682 832162340 276707517 537376655 737280129 220069054 154126290 308625409 730294378 520037553 834438262 973325227 342782569 306667184 738105137 317275737 138176653 550488189 301825188 306179976 768235192 531387070 656028102 231519292 653465080 570296373 566309072 358989755 875454907 191162126 208516074 364368122 322189890 743094091 377183610 803643777 766830418 689396886 877026928 231297965 623449697 695154934 894355735 353287927 551669553 525263925 722918544 360846644 786745875 810871663 121520400 807372323 222008900 972783537 206891046 419950971 695346060 217325420 895745988 251612849 895953508 611873369 442850838 815179321 628535790 195914554 640286800 695452929 885064391 171097288 168495165 133358988 614997104 279576157 267123895 229304338 248568396 374691989 305051455 972285844 957484005 675891075 465942226 643243778 959331515 175886630 566160623 517183526 477404841 158116078 111511243 121740604 881654851 678854690 759567367 585880600 380281329 572464798 254649692 729726328 982027704 531042252 377239869 271431033 320773824 994663869 668143962 591439394 888043655 984104442 509517376 109130898 625325879 902191265 755196458 731513073 825555324 922015860 178880627 515208105 307625181 575640822 611698927 818566382 784297379 683713626 748204083 962543018 360224376 816898435 980829674 146650208 120497589 383710968 690465685 996183467 300480193 907567307 137866020 504137507 576253882 931307246 326425731 386010136 369656766 664682586 644382346 819621829 116653571 643568804 408719933 433033563 540089387 339483434 464036630 227102163 893084463 134576570 781253537 697585526 520014891 359898356 426510549 827143566 788624889 755911873 368458956 746060009 137231517 769301791 189666539 877438902 528117239 682565856 401172104 949210131 528146916 170804438 401534062 255846015 635178131 169177015 129305046 347783474 144953811 866467174 149972975 340305403 157764281 672772839 849105075 622088748 307286703 320160487 397042439 835338059 165969871 867656557 587490084 185826306 644803552 900652642 985895823 745381898 745209211 133112590 178859745 722878182 439093699 643542372 547131757 306625047 630346211 955118725 287365526 394923549 246002809 687992559 998924176 684018411 343028181 563027688 144740743 192808490 172882906 529059407 624900153 467867024 487035412 686919455 746957709 472855739 940150801 327777496 131077336 311983644 584949863 268708082 838304293 344431194 595228722 537171524 590157343 366455010 969445556 283556343 765350181 943173134 401792721 801326344 760701081 121669135 337694985 470987777 748378306 212276736 942555793 892973508 719496847 269180984 673176920 414818230 268099760 834359269 168127805 955389784 759168272 466495379 511758623 180536209 130596839 348364798 492295231 175328743 274916446 308168523 358992880 132730943 454709966 565262605 236693217 830803534 101350795 226128948 301698958 846103280 212516548 180022149 124541640 102403590 602024507 716891345 958528868 122143988 293727246 945316053 624783428 925246393 483043884 490601394 392230798 471333694 270945632 437340083 168860170 349756540 497789083 686969539 110280630 844177785 693278583 236107048 673560926 450023173 803124960 765762494 875723011 278196796 815933151 629770041 493703749 219910463 129655173 976244508 464554068 147738432 817580444 156102444 144475491 416396054 881309167 426002230 809062557 405586055 419778999 848516913 753788521 329282026 564843264 598123590 697765233 350658270 375785183 880301481 658545512 406197376 108791716 215444072 627737773 884552444 347626923 140329138 112303999 836528768 603316523 870716846 471713486 309034802 949936796 452569963 755738996 664984723 934586419 597537495 949992173 886940853 824986191 740564502 197093004 885248934 619853643 271653409 462597333 860851283 130393572 109829955 406206409 702434857 816499225 973252635 404897318 522392944 666951459 730152212 519151157 414338136 485280986 862854912 149824195 569413055 338104244 758538175 659438415 679951493 980606142 871806711 886523476 157250825 653895782 472338349 466255610 357535236 150762312 609548943 844643943 674842041 210187145 419232848 278952455 729500345 829569229 525368062 884384710 361596828 363596378 395387228 391836668 808374291 460022941 762477064 970439751 449943365 942443945 808216284 673467425 778757828 147363260 423729770 554703045 301528365 373400497 154312448 111580027 330007478 686675467 304423952 237171491 787841206 615451360 980299780 772492359 403108509 105617302 554557479 726033959 894797839 641305136 972240874 769632022 730156762 694070350 164497484 493393671 797090702 489437530 513816447 205042761 372438330 380666791 411845309 519848592 826408930 847809726 737671038 128010446 640630219 845411605 527502009 516589778 964963174 194497860 763603000 496377399 515786784 375324440 798182090 849164844 204343187 408878250 317669068 186631353 233922135 336020547 533444161 736540457 313862932 492277978 829489338 450037522 246696411 663777323 823914601 455047968 193821865 682642306 485522247 820134589 248434331 678170247 314798649 627303847 402305826 449646261 325403085 658348820 928525506 327611984 117901716 965800264 434786317 878262990 147303170 212501461 242168292 149227495 669999259 981326839 570154750 454336015 480155691 970756618 878353873 558852260 723925027 556663524 847502719 225134073 637175706 299580867 325496464 175992743 902679942 299491159 555985556 805851170 641625425 201066062 746978560 781117989 267298170 273424906 820686558 941561552 120446973 436023550 363286463 258735962 246669916 353324446 717971929 132390338 431999105 384378930 895490014 941753488 286104041 710388015 412161328 182418212 718891626 955503022 681545333 166758931 993564409 986281411 535790954 729503907 857536109 447295548 923627831 924427172 518286253 517672624 780058445 104421765 165182973 631733022 967504621 980138623 120448720 310424743 532420398 747404925 119019392 888404830 616022897 276820208 350785494 937017274 472322076 719377771 917497590 668277958 972241858 151117962 668219404 602390769 781513062 942425964 375598303 782005348 573519281 729388337 538353657 878849836 556066943 822334713 602904796 994713531 185491758 820667481 330124184 201240007 571121803 397459594 351508855 571606852 998886108 852402854 777451361 198418383 211027415 949661625 632923832 574131959 557157690 847157021 742500687 222242577 639500081 543325749 659404877 570389576 765159428 259945514 273157490 617147091 501613907 980145532 202893494 987455332 275438427 574024566 538788086 953270831 454738019 780494094 856501213 125105320 673747160 181248349 543237426 507247668 430940644 398657429 515066543 842783827 472754329 828233507 327797187 594164289 454157812 225721686 752556750 139236823 664169480 714171738 937005567 620103358 856711161 567509637 491724411 270719697 125491171 858703165 402052754 872870821 810462864 771560811 758806133 685892958 689052906 871711878 580051155 878285299 336065617 914289017 208535922 446377573 919454831 667294362 426452857 739611229 925853432 340863190 750021581 212330868 693159838 368356575 670217331 130718617 555475978 522348847 836138367 636878534 354958946 656910338 780711553 655823131 611082379 256460000 331872981 475828574 683212168 565748794 297514694 881546306 864439462 298967371 317060707 297966961 695464323 803801431 149195246 854643090 308274361 129172501 855793891 484131376 374658001 310875856 962555911 483273335 314772145 960187492 204776466 345407236 557458125 924271296 778787352 954354391 199915101 374866602 415256874 535445655 353220875 429808326 378618511 558735622 742787392 877748677 132312377 990978176 469469822 525181109 979213415 355267799 451960151 652620005 913920018 702846676 104878630 823509003 676884618 847741743 257927582 762553520 816548554 746186322 558681268 298905056 190219413 397427249 715877283 198156778 974444776 712170074 833155601 884760927 830959287 323654326 583914398 249689885 827402872 607426049 812182559 290411553 882974405 722633001 650885372 330373051 225070853 253354146 205990641 953669074 321024722 218316083 409888011 911796212 710532082 724233976 896395111 162281636 164076254 208153455 431941897 744616672 727184407 391850489 650831918 320852450 969573624 615463041 756430759 651700298 598528724 117940790 933359937 228094979 671546632 671354765 924773270 891751004 400075305 646131433 667690166 539157743 117155222 404738287 538410389 796486769 599345842 348243289 373902855 987833149 862510510 593441260 821390750 300285132 618059077 486150330 684587710 355450073 713542375 849110483 648117328 509170896 482429764 937179954 496670344 186034138 483176341 923702762 219137093 193223121 532678560 547472060 531287914 146269444 210900432 195588611 411233101 117896503 462311012 836648200 526523422 180100761 936386615 395911215 197376545 124922780 703352357 716406130 688121259 160816406 171955704 921301635 430169444 380421318 493826272 741707799 745502000 239020634 329862262 313606828 509348600 909768546 626709447 140875414 489396445 749179918 211636569 755098918 365187453 725765238 527541250 821985084 353720350 574875446 294503642 838598607 176043651 918498512 291873850 716943364 261646449 137025596 229626270 338794613 677922862 780164801 437019247 531265703 112767624 858891638 742325422 203481493 131225037 665070947 501412630 886732389 562230310 183597368 658939985 884063637 843963256 260357852 959245302 904238258 954935907 157487863 808316170 453185606 477407888 639601662 530649600 473191515 646884004 848977135 211720894 947675649 935546559 894584628 442601326 888814549 614139354 641345969 954190450 865724029 228590161 815091288 258151414 839524045 474884293 331909955 650926974 937232759 613340432 776543244 662702443 389212303 297397837 888462058 301260519 219321591 989203523 663065655 841441372 910628018 849369497 922197308 949370340 594983555 941352481 543858183 931761822 596538184 654400086 610126705 793075487 273649193 514030037 820524994 479881502 674556487 712676988 100897428 644351578 640408328 737736366 325907272 510346866 513161213 576390784 186127493 660464560 182762451 231708375 235510486 875415091 777084631 876083945 612426945 132656173 450197483 526991071 801539869 858379752 179585130 684246881 526738288 612068725 902292394 272262742 390040981 273139144 633077592 572816615 498392593 713967374 155509493 931492194 397032905 134300013 180434484 660177691 506252129 739692173 244291762 909624035 740753594 810977844 417795820 408160969 970024058 845952238 474271785 177685214 199724522 887700773 329382946 704264623 502039526 428113545 580185831 557048348 855116515 988748802 498235899 351941694 960915767 828287456 869374112 603223055 475104645 775340318 789630788 321554861 460986490 199669912 137149529 183835032 618122532 355642057 694835451 593150948 877354480 930250688 932161419 787611279 732506477 381069560 815659153 597768432 793140766 316255243 297195213 763437155 430275722 278183190 517311987 527256879 131538798 448382167 280157188 477257530 257850856 322353934 808052416 175085633 620628424 709506948 909817581 294195876 264341989 967922974 253302301 677017613 845768450 978591200 970819156 886383997 870105327 923453928 579908744 748672897 759188203 235583065 204344801 985521069 297640466 261566166 599010759 328149784 525503008 727699562 224115957 444223155 632901347 224074666 605269342 600868214 586447068 930836206 999895512 892607940 288654814 756924634 118248250 501506971 880532472 478184115 320829851 520049950 654914602 874428148 328387347 706908421 981146409 884040994 792560937 934901430 597814006 277797511 186091968 347971957 178236353 136475573 583663686 765010052 395730543 581239471 534507741 119752829 920742501 502933620 571941094 974292527 713883305 786761552 401197513 950793141 741751218 433004035 108910378 634933091 746649509 759642387 644983336 417558433 518308876 611926679 651032857 208855208 617086890 842140995 341771355 561775816 758643430 214636078 968510976 455482339 298675549 178908107 310782190 182606830 989822856 869875470 922368197 682151408 944791630 771838215 936987096 779869242 795304324 831902245 761921573 135742877 940904120 725735667 469839095 986248300 701813934 171220619 467289618 363059566 293867638 957567389 516969069 418691017 161313948 693075713 243401508 744698491 715797725 687858338 298142620 656422987 476588166 104816227 698636264 525696269 827638266 273583026 167400681 446544005 999380729 572303367 179733251 172927979 519681225 504640903 708016149 344714054 344137402 547736040 858019681 322397402 860145369 865730433 620786951 475585238 270965549 352418376 751139034 931704685 757398010 894250554 461817255 106174202 799923324 856173664 372848914 480725950 645702812 942224746 421823568 982749356 273268119 338455262 997449956 375970269 463015459 951022059 704186786 537147868 286587900 739918083 916443064 807561808 618827286 194364533 221506016 127047201 715116846 784208311 841525675 538373052 955036773 632044947 229847119 706911077 205948531 390834975 515100656 650895240 764466532 323564413 112521359 420401242 457897991 296409335 400538487 299651130 693267878 992306783 781944333 476050765 979706315 741769664 479185614 972227722 912742539 997845914 188347387 846358352 540973336 349643175 995115150 558784639 936136868 461790670 867360671 472535012 688138493 638440531 943114502 713512218 682947857 690336971 605578882 755296833 661749747 823423244 207533894 403842387 716219110 480019131 670822716 971594281 948137418 820824946 947661897 996705609 636105605 625070544 441316961 126367019 772684263 147000393 192861638 287253505 879910296 945781854 569230282 270927641 374742717 109775856 289730251 126850325 688598949 603239918 866954864 154047068 254723361 497980553 397986934 123456259 814211120 246047470 395207586 303020188 943587613 105381662 165840602 304156558 270946210 107310524 797272820 349930124 618496838 822698164 380960398 549158248 409813901 815578787 150548060 797014731 698128732 579038855 579706500 419760179 582275099 644573126 151273486 420252048 130765618 885656311 934328668 327656562 156595212 606305137 163749238 542143732 192220735 907841033 337320961 853896565 899675783 514125236 315840254 660956152 960963875 528207496 176174483 621178873 338208063 936272796 937802442 816512472 646147694 544494314 128607729 968713338 477322600 278541259 635059134 888613648 479611093 204798884 360724734 320453806 110726441 108035992 786990091 332540575 680189734 825037362 520950800 913043478 613321964 955113292 812528408 872929829 411770066 240075574 801582178 498183002 538332155 562040644 495408687 118411663 600455633 379719151 128469176 844397926 867564335 832188816 933446006 929193875 615282496 643040675 243967713 264238542 735734098 528891265 811345747 903710847 480075912 241896010 521913679 560989765 392274798 479638169 390749727 873981505 375196691 667236942 863985653 497538897 741191675 581004812 104819209 908047505 594114327 834169190 627378818 474866827 214742840 351772911 580331259 974001935 580028756 537252359 469576885 836185153 819882219 510240042 244420207 999113281 977131174 559681054 409478639 831678939 712143563 973574885 333980049 364505010 546340909 466308927 679620412 326450555 488605440 128148546 939524432 490129437 739021396 552648753 229414633 118023097 429702663 698070211 512887519 773203689 302295381 902873538 292406606 170812961 140214175 910879677 869304992 889979860 718602615 566979830 379370987 202154467 499788298 367521649 840433081 801385645 615291024 342013385 823645892 556002430 170803273 256165402 375561913 991280954 125773709 567391426 571948405 278648046 798615191 453148853 600940043 944594070 196356072 172779581 603276056 424077763 415837045 447003008 247762665 485874149 698887372 331995400 315713353 312327682 353449043 567672439 979265282 796459427 437427723 443444358 384471769 647407120 875166720 318904277 918845156 857064504 778638702 949627255 191080249 228658201 238548572 484653415 645851124 490647937 737758891 460361342 523768920 274945027 166363633 537323249 873684563 615555167 109583449 699520360 893730202 159761954 526318595 207044841 806222585 483249603 853523194 416019463 126921651 390372243 136646672 980202433 476137290 585312951 834838050 495904562 478362689 184875303 581053201 474287056 195148528 163916347 620695345 371604434 813573701 208786534 209388156 782199807 463454379 788688533 418885627 112223006 716453292 171768540 784655219 812030471 608954134 223113636 418156671 416398486 174799409 218179644 565547525 572893215 512226727 920876285 620098720 845908094 365262954 736693655 165338275 752249629 502628127 477842141 664091715 511983427 429605545 394516277 921682786 851025693 928810497 279088018 861171723 492173615 731421247 485442036 961508557 830737471 136277227 462363182 903136038 678330337 555025106 955291955 635174611 610016763 896086714 894335188 702324210 414147267 729111077 175002933 954054384 814828688 260458148 750024524 349573530 959382527 681018619 134337519 324230226 337292869 109848931 173983597 426813313 172545423 864253658 854635781 839269646 257278407 573714744 508142768 342214056 703987491 443071002 397130785 144121084 111630622 517717247 111365641 312888862 263583003 226786211 765221976 826021175 198472520 499992364 478631421 712009875 888465570 132142416 529610725 700780907 946805382 401765554 793317686 265757065 353627969 837306888 942440410 285921019 984550075 569628734 269249089 993799410 320473763 636091183 504701172 771341424 726812107 233201563 748813139 534058170 701638126 692877502 700658899 269600917 541096147 735042830 471668997 720216716 274618690 610198900 314676767 498432577 330236184 657213891 624264458 495564925 934877470 791603362 642054829 250029828 450653084 134818330 731283452 632591328 931623313 507319916 159832966 400831664 612519511 854006831 230062225 705112909 263163377 357922878 111500081 793977613 305755207 361213177 302814290 287981437 985646886 577216835 122375455 625607773 358897174 767304075 740176694 615033436 242213808 409793843 288292538 286483627 405944066 116325390 153656585 875437648 894289846 816807921 436597961 491074796 553593615 488110989 439761655 913699077 880458549 648848113 786870965 337279281 548985517 445668279 584122366 230328862 906395892 635470739 984917973 797201558 848056327 264409541 589361822 756802076 639590682 644222506 689720579 578271060 808679278 778004645 261740579 906718504 915512066 755306415 621671723 688453025 819110384 315031045 978614199 265897347 433664557 733194894 730321973 331736964 918864518 690412864 104859473 662579012 528447912 697017531 150558219 186062048 685412497 517438379 814378165 582044296 555888318 765124807 769159549 118780001 872761699 265089648 691645246 750324488 224496395 488752447 143488196 311441892 972765946 219162689 282785108 483708784 656462431 951756972 615538881 782713837 224553392 875941074 745198105 539137314 151858135 341086586 360027941 582510051 461346622 229257913 660215586 869829344 849942061 600337369 499752195 472360011 341252952 388593074 498194409 780668458 886459945 162994343 116662011 541137182 837293857 177628520 653877787 429103673 619416158 963911307 209354293 149788053 577696673 124066190 535253038 402951511 672195436 488299692 367514539 746922657 588910499 914113417 407963626 516873444 470385855 307080009 261764115 195779079 851119885 808102147 450478260 707106784 404504718 262648929 880382782 441503733 998714307 571485980 362418399 505714233 609682400 379527984 388676238 281590548 541860951 573866786 763771127 353771885 381830005 463820046 171352938 906482683 514673386 658998008 273652970 953689186 973430233 710939386 709198001 339773982 572720084 784403289 947240031 154306020 249661764 178597162 428941846 888684114 556379486 931734514 570897470 365407632 924867649 294585338 547198963 177483281 756081839 570406222 254166826 198334400 566313234 598736609 458964379 108587998 269355923 505754669 820967020 357057143 119514145 245077086 932075937 271432245 429182025 238970742 713531413 764139965 543837114 550163840 703629625 190798535 798506443 468752982 904680563 891050419 273971843 452926725 556899678 154970976 298674579 426683748 122059168 997763863 982403158 306033030 881839085 248523452 454616256 477943415 537674334 878995196 356957061 428748718 349796581 134555615 872644070 186909274 436678967 665165179 955353199 544258042 641392352 616527306 544534718 704311767 648683777 784852068 781759840 720657414 990296364 642778176 779759028 359371882 362952098 710346664 204045192 497796368 794616627 103941913 326257892 752052170 740929809 998011921 195348610 945293765 363324619 413129414 441717586 767349615 410611597 335359452 481069067 583180944 548976276 951763715 294669927 904562984 936137069 107691763 584322911 297125379 771053374 319966083 800763780 487099539 156689846 507911968 124834895 162011737 917625486 542754775 818622473 577053037 907963849 824015437 979539526 319828943 186531416 662692317 650069557 287559639 920674148 482488463 941195569 542417193 703912330 551359176 940044298 106570990 509581891 511653256 890334546 286940511 226086098 655129724 200132259 288697931 365928916 884954887 674528676 153781754 394991186 720760012 999879567 944787450 116684567 178659983 354490405 901921383 439471865 338826657 999317552 346827206 769303947 947554801 690885586 523387701 739828818 288088389 972724814 100149791 673579836 512723873 549547043 807923551 566058041 908284978 739514911 938336675 920490051 248552069 882347954 824449135 968067003 118249033 434402917 415380872 606213807 381226991 285382749 991752328 954534066 487118840 690874521 117379689 564774043 192475529 661868125 621771004 516513596 633487660 270360807 347459473 191388120 221705363 691538791 138266527 871888720 888716673 100628097 538534084 300704662 183393056 917550351 329116814 346262535 181826060 808590221 258157933 229832953 456512895 145353077 117308713 691803232 565414381 102412248 281408710 547219150 400077896 918706187 570786034 389302917 847431133 545251219 282219929 564034332 617361794 659708135 364438590 195131667 820012638 462583436 276249841 584536992 688192812 710471326 151840904 622736933 512544619 414195934 269646739 124104470 434705258 632472617 862924563 875479683 992314089 920662713 486853571 182439021 335410790 882955045 807235285 878317874 920286837 742987243 166160272 138958699 309904331 738053882 956264507 389372448 758376362 810713475 844627318 937542636 779028520 177171517 734528839 334058992 104218733 836544407 664194344 971533732 778575697 559060809 112346656 236307648 951254495 418984592 186704172 944908212 216270429 501386892 492655900 911963472 336503647 429503067 496396619 276745215 451269466 897135944 140720273 473753682 914644862 716655541 799911964 251449809 697135249 929686724 752110007 869243647 121144604 992119416 937238016 710678459 114001155 265533649 730357539 824409111 874205569 813848280 943631633 407272978 164473837 221778257 944483281 883721976 707051313 459871672 547509612 127566812 663402254 472008651 862362376 101702357 576109522 309947605 967646612 772101357 366122657 273134019 922406140 851444263 287564615 671034029 863331097 982609361 571528713 108990957 155486670 134236802 466707701 502068661 179384060 997848093 776733933 356451345 990152940 225121994 222969433 275071580 434730887 788200467 645780030 515591792 988522214 518120102 232364112 365046205 750365851 170233118 174158214 100037889 375166165 270772270 475803827 793647912 203982413 991795553 482770970 249900326 536643826 963151316 717558693 217739012 384045615 297424646 819747483 953754976 539351502 742750398 976916347 901328311 688594535 564576808 924275379 555647367 261948133 383220383 865726819 324174604 777982636 442628376 785440634 806464107 651045450 335721136 389975040 343698003 393239036 960252927 509150919 426312497 676606225 570123160 384315300 892249648 560427001 552952385 844463210 844606436 476523500 339270295 755123041 229504812 958834131 411696244 224930780 599303439 897037503 573156422 508586563 803268996 552712475 813164532 369301497 444460184 246203346 865175950 833535565 864451257 635909166 877637923 541051851 932857578 297368286 917210898 977744616 846899666 829018054 667834903 703301433 357786905 352804317 242745216 106990938 157082269 461869800 259747051 689870820 705577900 271360003 844846300 999222816 337712016 135514731 221147619 744629450 570386354 894659781 973685945 711643220 209311128 485734500 311204582 587403620 185998064 446775780 455804430 771009268 627025818 991406007 823676546 282973620 680755703 849533287 764787412 401367953 677965355 733175602 978081977 863896759 282491940 249331445 477787754 277135389 760360887 716906578 810769043 250059222 972541871 396592119 252582946 168444786 730183095 219929473 739974472 153875988 512364242 209242012 920431069 531790858 457284955 386004049 874884078 695013959 575771439 360470616 326428718 729895337 427217548 422815493 759827476 287890232 813850539 550053414 558986691 732728479 969789442 669001068 819412653 578679811 952823603 169292942 826537540 566923495 862207034 297671682 703852342 341804077 309323904 910004305 842540047 617103266 839827703 240578458 742118694 689194303 224782413 883228554 644985210 496234504 313505745 860630645 157188588 797850921 361837529 403283675 263132294 401437899 971086465 677539319 515160378 777693516 631843811 298729098 159913114 516194116 761723593 309028692 648687186 590327027 951547221 389884977 946963618 606618650 697137800 929556545 890175542 752918606 838236865 868914369 674200463 208145907 368042563 946715259 965708772 740709271 541844992 692739025 671274592 221579180 618108443 922545448 492509697 723834684 939174257 862958246 961370936 349726429 138301802 912491901 973010224 739635593 328314281 927300979 802931381 881556895 136079887 314532139 305234543 247622714 910765018 972474127 400072559 422524547 277103002 487887542 645956555 761020560 157165930 413268249 901398719 934233748 648518963 553474428 128807547 772252766 978130256 895754178 346032870 985214253 729935258 216477277 138593228 830471450 477998017 125467976 109739725 798345347 281499151 308185644 966881482 873566575 160634478 820188315 438734834 830544776 496042567 857619866 374080933 165624803 851414632 425046124 382112876 744649826 831800413 176801092 564143436 812903294 603194850 582858974 216824276 947788514 917970753 562979334 981608148 776713978 357945682 698355294 953901932 514005197 849131968 795761749 859861547 612469300 212973511 850676430 798156979 684843172 126005242 646405303 482104333 891689888 269208614 147876684 145239111 186827602 208599841 207484352 313968867 729945245 207311379 611236426 225112205 503098721 732949604 661022971 342490542 129201707 987824641 137310276 765347596 710587189 314085110 660629171 389914908 819465768 235296790 978185623 161753392 560226028 697717928 672086942 347259777 825251370 449200062 676704951 848725309 737624901 429024653 217120247 667918733 125934919 632258423 949499831 634195645 186007633 310246849 907924089 636011811 728537674 622258353 789325497 158748374 867476408 790779953 434053265 679983236 961435211 906456272 546315721 187591436 916906914 361772010 720186432 127600541 496420006 963900701 374717643 299881105 337949321 123764106 142667324 988158342 440135908 926472355 580066446 530342870 426262340 770300139 904090499 790104984 201861632 946500109 299602642 792372434 152078921 933906124 166499036 104696213 125635332 269543266 903374155 327677637 755832055 874695997 869680829 681561002 224664485 165417999 234598171 519754110 832054893 872653323 804430869 737674820 598702235 609302176 854771131 932778620 520205114 801790157 409583556 569018546 843196639 216871911 352589905 243536083 156448715 512606763 429731682 112944159 531287967 300113081 487499780 785002914 705502049 702855312 479074410 110223019 343810945 829487036 501474207 468267185 168952781 386209601 288422179 709169803 729058690 591602263 615054029 360153305 194472598 100782116 973290966 399322301 981128077 608389310 576185566 273316667 643505685 527356031 163682298 589806270 552585084 533097821 800815248 190089934 607942386 543404484 114930030 202766567 907091471 893518964 729112531 299354963 375833835 649437147 443763071 335974513 286921270 526091632 753333155 158005995 407930346 908162915 288662686 790406166 832784138 978085639 566152728 842615262 239371759 223203473 411499194 972987476 119760136 388768506 220163264 892164242 328787350 932017106 915055597 898517548 622935255 474643607 702517201 484100287 700943518 876620458 358909377 793401223 772157421 161596254 573525799 955096152 214169447 781356563 978692425 968173769 452586575 380439746 227830048 557941291 731118548 705925298 980408650 637632029 185908548 730293022 422788607 616773329 331982568 562734945 483286354 727437765 167427497 945741406 859998508 869800366 752124895 247718652 160158519 787149815 231369162 406228258 155552470 145544798 202222836 512733572 342413848 111465099 791191831 102405342 580487708 161485959 914257974 395979304 794142556 213109760 550944415 235818341 850577448 147618583 492246590 265429594 183316505 896887403 124307546 924015990 354929748 598796732 393950299 579836379 430512362 140763679 356000173 687486673 641371240 921582105 155608603 725010027 345641023 521427955 733772104 188554740 577283283 828059678 207866231 605497555 565067146 237561361 292366303 933143122 873722842 689933303 964291840 167914108 374192065 464688926 724592184 899354068 591711747 703596098 424247793 905126999 626835715 284385675 260060161 349463037 483657328 303637964 403461123 645842492 795382687 947049452 288902823 941982314 573939860 277297177 367150247 173213535 288496320 166620065 964776636 899341151 698778534 426801695 122450586 567169378 887043494 267775247 554853001 617515885 948470516 316460611 706910685 684902845 163418173 694918793 164281504 110287121 722875097 794844423 503634836 252827942 964331743 562314693 865902831 814945510 184002934 661255756 208332271 140351759 791136736 287623206 638434727 648515554 824914058 732936044 500802714 964767706 574196786 329756362 993608837 747177397 104059425 731855283 843740684 472368221 376427844 691017385 362253677 703900673 254985398 902263402 566670990 612842275 661349895 512218518 311017079 429172902 980092455 403363328 472745982 861871289 156046272 820546676 868131017 184548465 267892389 638683440 653758249 434967827 370359081 339168358 575511329 641088530 334767602 567290553 601875310 380232725 994653254 770116483 815748383 339781337 184080268 199076860 347863769 853783171 866471455 532663015 799505540 743996697 135164663 139142899 130764525 634306436 529991737 444659579 305750840 163996467 757035607 428355418 132239817 537629963 254549687 848876001 164168879 272093376 435563148 194370900 783253365 241166056 923738514 446062378 435647324 837028669 549756540 183044331 643685807 367853922 764158161 428943712 446634930 322404047 838136038 514826886 176541755 638032269 784838836 450611508 563012882 631087112 637070861 707688009 974433995 957693990 577958095 677207089 646501022 171403105 314047027 802669275 284239440 856383570 517374111 169142451 113698858 420519563 580199426 402638392 468307299 828672736 231007750 154559700 329991299 333295454 707227067 864136276 278060384 171241087 922155369 132584465 520103307 287548425 188779680 145187563 753356895 231613218 306048930 344584857 599803441 785949553 156264430 114574509 404247995 443281146 297487276 525632787 409581546 316911311 820659206 317081597 818722195 549566952 399277103 944432875 792307701 881858235 771460295 468534644 533889743 565941309 409886552 386500243 851184406 999265914 424985507 633455024 636583551 937985379 646492034 740536435 122533863 259297483 342790343 530137980 744903303 146890432 267695289 545484394 474596235 976508952 400529864 532896767 784118596 959218119 930972578 857187048 752985132 362600893 473589287 659198280 767802070 679671438 776820731 556052247 123412192 141397406 395755472 941700240 511304980 716675502 672239648 185139387 376562936 574249453 675759143 884560382 412428258 821540113 802950199 526308129 399571004 149065427 339317258 886075598 916863369 252645311 600024093 609569747 790717302 423852489 668596156 359417566 734754303 459071515 920171521 363486804 596832622 810789018 770392874 229394171 446812081 564829006 572341840 302587414 700484301 966332010 261999399 880218447 750930219 264442826 967199110 344891066 618350360 729609933 544739735 606547022 884135072 815974739 819457067 914901180 838334062 483190365 744473163 150135583 789515094 366997596 208629035 496722386 334190836 379254040 337578814 991095473 511388645 907147400 175373094 210554952 418215908 567979947 686183575 735288861 366123206 312105177 298345591 203689941 577455030 294812120 189226282 286350753 738082844 763150660 907265815 172451562 160044060 551605783 961430818 585661424 966756821 222409563 287564345 454026486 546670140 211371014 845578480 461140344 581669020 782661671 103002254 661288426 572790327 580458787 421504045 564622174 320630271 281225546 477539109 393500331 724024135 214684550 220837075 496056749 950459840 493655755 319443923 799332846 313704241 170686502 858307582 586650529 388741720 359960045 576698595 420343189 923006361 536413561 794972382 625895182 269291761 725799636 542643131 313395547 193868656 882093831 766768125 243015948 118923923 757416364 436168619 685693376 770092884 698186595 437007113 362654778 587787401 122986780 980556629 336598193 407105936 113098778 109630607 792670980 379916621 982047986 247389405 848024733 622522054 413022221 362561960 846299074 334841121 490765985 995166014 359041005 502913985 646689589 426428937 203187643 286327810 833724246 467414523 785168930 260376472 901096738 416423327 456503859 175835341 471020084 495060960 402367605 671512336 572097876 479320678 268003770 566911349 177597512 796239508 756743235 429853298 924817931 413505419 423619502 827697459 569839436 846445209 991151942 988016198 560621687 555090830 238206369 631548121 955160948 439477532 812554306 229891050 298780866 931926819 746713312 810463969 767251656 967840137 610747330 268343732 382966620 663757880 120460039 274105688 888860236 553405130 614249686 394480834 962073344 232633724 166562999 946143461 673938298 907660162 394836298 269529995 768420687 523545192 315389626 203920415 751464561 701272186 530791325 817580388 518025561 864914159 109048757 110836395 244644242 419353864 158327718 670025892 380328820 856000855 584295990 810807848 173631754 473303605 156488563 679221595 125867200 869437720 421352990 169005874 269945400 909728349 584042643 191200393 884481888 113675011 601520912 435782759 359121950 946431694 583520581 383925075 816041660 140748141 733641107 628359206 907260755 858500663 929484408 546571893 877746752 458207330 869675263 992810703 938304901 942472859 790765863 998656781 643127882 472936931 227572468 529756777 272065301 697486289 370469996 654778761 952921548 894206708 219008984 222607901 938206098 832996515 600711927 611427291 349527346 227235235 377460702 873905491 606635575 280768685 705384696 209998977 663394889 898558141 485119294 325740101 102463926 229191634 934093181 119153031 186612134 281234826 912663485 583833168 504761658 664833002 444042133 653787669 830991789 515964092 363040904 106463806 983606886 728391434 623951466 377275025 854774790 973965981 535594789 218968295 948943399 274747612 852988040 298532711 940498792 787492234 344330339 858708719 665964150 278995365 138110596 515841946 154747092 643944520 427190093 981912511 410415117 534915962 367806681 656984121 205598665 910505554 541395984 111577689 346075427 260136116 669011229 835175909 297428124 582452914 643322514 192337999 281884848 619553235 937183781 426882263 838555848 177270050 151035182 475074761 456526658 941787879 318468412 651784186 776860286 682373507 847823864 253156179 301369536 329400447 666097159 818063927 805710767 242738664 741621146 642068947 179132705 827871412 901435813 283814455 643250898 728793457 196616413 803664790 987860259 162622998 985354329 329734006 152948438 877497968 723660801 492215915 956905686 351433421 904187337 496544059 679026595 669587355 595607345 832741729 197858197 261098596 433427130 430508065 644489718 940202507 531686264 855219326 166349166 908703479 722895200 368789290 777238916 711398810 201135810 742513725 903052396 748960858 165010163 943048776 898427204 761986901 973942811 656495044 827247715 165311463 620920124 661960604 105222112 672841284 923392561 810603610 543197043 305893780 161810843 387209882 570857384 308452469 770175712 158380131 986804801 983225141 229672417 836376534 280246114 185202151 110957775 348047314 193124425 960151049 764653706 359145412 945270887 955183573 569207777 100494271 854767365 596613493 214699325 497038526 615745037 178212005 550826614 276818088 695590784 914397431 117083456 261687562 275948520 577718896 142244726 881039842 647052050 812941953 718321465 723822224 520556185 342759773 503083471 216943441 913766869 702892379 937288417 478206031 683184415 448368292 928457469 726712697 251292361 736422011 252297901 136162385 203686223 915176662 441275873 254420104 470867369 944714806 410789818 960400414 682284623 919217095 815931054 955906952 590767199 442986754 714784447 747608422 687869093 276000498 915066044 685897870 564784830 873624438 154916573 668741677 401273230 356616203 950902104 689515142 334338229 784904262 217812580 654452100 198033383 527364766 172866263 775433337 791644733 431839301 243553917 782627953 728893184 477334600 863739424 465741983 129133884 101300574 642442859 262723660 709310003 650670089 527681029 751608446 893561648 819520662 663316343 569873573 451591966 994284509 787230463 421191870 182390739 654363455 142494487 597703023 372731246 627782285 931331307 766391836 292835459 632484483 604508904 158791133 673678307 780559077 638357798 679872188 655554639 325784504 740720409 968404861 662459251 471256647 260990524 957861415 966621934 658923230 879178908 859586001 626741088 873061106 124328659 911152817 354385544 259345106 462972194 719234637 958371278 915306851 193019183 491796150 916556799 692100711 955753926 426255275 939004529 592693352 265148657 941734120 843460458 964583666 271916070 337139467 528591075 434855288 138085312 551193474 226975121 547019436 664988945 535674153 780399396 827850961 722523847 186620875 611241561 342950441 502611995 715966403 822912320 520949494 925528005 378793559 258345886 539308032 409275629 403705985 479564709 879115676 841548895 537962271 400979237 421890020 337528714 875462385 743687062 959240570 200930475 323786785 687011898 889664486 697921723 132045911 719292550 652431391 633952556 815509766 988045376 142128591 692134308 933446183 558179332 838344916 131554267 169973390 629495835 154913647 658700229 678918857 667876116 486389145 885746621 488586670 228788448 629133153 787745190 789012804 733822241 315120427 287249414 508289626 650968188 271828059 628422898 365166974 973326426 711720210 204503385 578154976 354366398 861285230 588203764 288451981 753649965 318062111 802232896 246844691 527708257 747317044 598477530 757622454 109066717 722040697 140288042 433597328 232144223 718701137 706366143 114614783 960419586 900229211 292866402 634706459 907749530 762931081 509570172 954669106 982495505 467437648 654678188 396180896 934113333 132569488 591767418 236790559 367783117 671351710 898215510 755467146 357166834 385849605 285479846 615590152 379076035 981465759 374733660 137136897 405898421 552491970 500190693 110569673 673389258 275888105 542831664 251485197 722472575 238303345 592084611 680586914 290278407 903094949 783436117 254630901 698423260 121203376 425834783 592346365 969653033 914057456 171988490 317208315 579031580 290174797 230267961 286185401 188665455 951346262 395400914 288337519 624396026 759579748 587772405 156539604 875034046 940371928 963801912 794850378 925781280 836049936 684714276 184660992 836404721 282983882 930403876 755648639 882763599 121823380 137991682 226700413 418441912 983183478 568732684 145412197 546637959 447703940 147798910 247055789 578979730 637702983 708484952 128021997 933525779 293859288 121001069 269829172 892970045 935900036 673771730 635126021 237540879 813011580 132568026 522093099 583523270 688477947 772408866 542509464 819356623 943329648 895279258 975835612 375980827 862953127 640477400 963566859 898253678 242531821 301496196 875104365 118131226 255794830 775544544 475529917 743649427 827897828 126940277 583935534 732764114 568222724 704476432 732450585 641405356 243139918 633684677 939963944 605340500 354890204 740744460 167673618 258211060 530740529 918007143 297393628 938947106 548671477 596560981 922699228 194555993 693432194 775989769 868762066 169220199 954241531 588267652 459248971 635647419 176453749 886393013 101261617 218280628 286070905 658926339 333875802 320954515 259839635 411984682 526710172 579961147 687571574 217631088 184620569 190207431 675654200 468873528 664659775 294842887 925865769 296927726 173799460 232345058 791656256 182404472 387511514 717941016 340223941 308831799 149299510 219345428 220596588 697072620 433682733 440488782 987922569 959798898 229907356 380004723 855546285 726052076 739766181 727250638 203873444 467476571 269405243 319282456 264469307 248794860 625022426 420443448 679514344 618035986 652741287 889431633 535474822 113723705 899771882 706099701 134628718 684205067 841147473 382576232 685859325 644004342 882801014 475300815 419305105 285639579 175564706 656614296 609319697 615720052 320538371 738607284 593814114 453916932 604006346 194853584 281059358 460413468 457803735 345562982 299176356 820919488 898726985 626284153 336578001 370558101 832837498 701859519 886734313 742691983 965026750 891868753 633784455 587510429 743659049 901357351 225305041 435554674 442714781 669006673 750743952 695782207 611532648 772860450 568975464 691933802 736564873 102554835 887190478 188479731 323479355 456885037 780810322 887348068 446241292 121200427 310802886 305340704 529303610 762728537 853039287 260185631 893989428 612039924 757552092 779354944 626503177 818691341 816848381 257624963 994213408 733782794 776729131 908337067 253952366 751916857 116612167 470753664 969415731 794383143 351938727 693528536 927744424 579580937 949002797 777374686 497753105 871228478 639965079 560017805 663677394 899569932 371237747 787735511 304480966 459965331 534367430 420882021 945326937 860654968 259265025 421385745 508320937 680921783 708000900 843286888 500142516 802778853 225286180 232331356 152698487 527483091 611949595 493463991 204759682 209856567 825414704 929818306 248620161 173458329 192056411 321933548 276295186 257065375 361933012 472056379 573122461 139718096 103613044 699318944 342012038 353670991 324197228 697016480 803242833 751036764 779912996 124009789 550723104 666010646 276582592 119385435 662251512 269479110 246975420 618077289 878185608 724389375 612649702 550079223 332249512 188336213 125715817 985581243 449699265 142424315 192897027 965620301 529974922 750219422 243296824 837750337 538817132 971422163 561164526 749853013 503009516 388620694 291625905 121623285 789541858 839281109 121896928 424887976 114179280 898101618 679670317 663090193 914160222 886985367 262351109 968736257 316707312 882972881 617361120 931650665 799439404 926050252 830384890 972777920 326228354 433474739 165680083 247345100 528769721 543826599 647892802 264244857 993038930 390876454 872482040 258132227 804883760 395546021 559779110 836170298 607490130 712754474 781772750 138913946 910251275 882453423 761348463 766591886 334808593 349468195 460277799 275682094 856684910 482970465 207323903 982735871 879678809 455957650 801413236 616866039 760352026 853866549 216512778 952339818 161202246 503717195 100539271 183462521 663582352 397874525 305033023 421642576 565783325 886469062 297861432 125042175 926347006 406862127 445874546 507280175 891518712 455253011 429357418 530014641 354442374 687743350 858704251 117579404 715352557 937818306 224257079 976863569 217001758 112061035 114780224 521755747 402610451 350016699 478285295 987571426 109720749 679271059 332311416 117538922 463586133 904913481 730680842 168787476 643716843 744152913 706739725 213464727 306109388 347041869 682464587 809424089 773215235 391942826 352538238 673413855 208228628 883491369 169344374 480322487 580940920 119545565 231071893 609977614 798663525 669801043 659657188 708026922 726399338 855600449 945941704 497161183 319991995 975806766 991263220 163357960 441744924 277730293 558980817 899895493 889291838 860841148 179055285 864454367 599402953 846130577 242726780 355567337 600977636 881434374 425327188 212598955 417260390 453059079 261840989 155061111 275716923 222509689 819198534 143697397 228201521 825890082 705390875 753417036 616511567 160517682 839586444 480719743 628973248 532095953 135346001 837540461 132291215 941071947 269577048 152830007 418255812 661516102 858931244 133727266 228509699 929353577 583660453 368137623 763361157 477247681 702110385 911101448 539939454 654351544 225997382 494151294 465977605 588009511 557063199 168790026 104983302 921085599 808806259 965497842 226070462 253893329 959496495 260653198 545197971 132304130 578032604 373236502 531940364 598179893 938860211 246497919 537237795 642805181 714825459 902671129 501770936 525721948 885763692 503811404 983651814 215314770 628667735 459351726 766605770 996710110 672907033 107216846 745627383 400666463 797066958 369041225 607389324 703142554 716982943 534834182 970102770 525166777 812237125 639487287 656324375 880613382 927103672 704209012 425926366 118027825 951739303 890632116 456197500 918842261 208235573 707208344 257414273 262101210 823528559 701941480 806753983 447529035 958628376 478198934 275797694 371656742 152575006 280553526 195103968 307918931 986184578 130349275 368671872 995754284 333661425 436713118 218185205 453368179 566709225 957418569 537413447 931304121 578421488 525302140 896165560 534261799 272661262 629039130 747272035 870929218 590738083 130636950 356947441 939889020 362827656 836090146 484844116 873599540 134387750 475053656 406625805 438112073 401974704 752207587 409292783 454191838 598711193 103316283 804699531 416000629 684021212 612164613 978502712 847813751 716058394 779776494 555855964 440258895 457035519 144074110 789482271 449807259 942691382 779988949 142887385 879930614 459600850 605049756 134438762 370548223 629684145 120922364 725855439 233039475 502107386 754567340 102321694 849638292 728121289 769307337 494678117 819431607 280705809 167822885 464489857 994728398 550828480 831927252 551562511 397302008 637576287 830684853 180333409 295051735 579936106 349962162 127125188 339404994 558501998 367438985 634164511 645956362 747881057 206529460 488205206 257353007 931593498 805316452 838005115 724987402 798257294 149150452 847313643 308201970 581360352 317986639 889354311 354894656 642475276 312548164 613772538 310687180 516725055 955290939 269915623 206691932 615132751 553122023 835878440 524380313 801039884 168293761 200301044 476718866 326636026 719064021 108036616 422794054 215453507 397347067 530689662 459100518 525258537 837837639 639174415 121515670 309614572 277909546 898203675 696912774 437760692 394263020 693311137 957338622 715865361 545790674 294071796 372152239 762719456 991443983 471727010 588014397 895077867 719168777 787920862 201695825 857783837 193293299 279229909 530204439 400323341 800792519 466360217 892414644 105563660 385881446 128514874 680861643 759800402 760571347 445121821 782814627 891481108 145905803 165126845 541577513 330487554 945739581 647965112 565733246 404713328 248068521 383068491 330659913 607123577 633255396 884178060 332983457 615426328 564403661 925030525 778461634 816316025 539000839 550779360 191683632 803506967 929891916 783783298 870100350 607555936 397087194 600814865 368250979 776367875 365620366 751911675 894381358 419354489 951726412 848675177 168348645 648599600 112580780 263994328 197888342 132307107 234285851 901722057 782929093 675256879 840021678 973105709 639063615 757786152 164355880 439172882 893438897 786838704 576531630 230079651 847899823 350473266 668681486 906629109 679945773 214240884 457272782 369351030 316332861 641536296 259863912 947547372 219334271 455903141 459524181 538117150 903480488 796386728 196656426 435455363 806845564 701939652 111590837 410773101 647965095 577765461 795191712 920800741 395418676 571682062 558982443 828062439 708040768 569101579 755714073 436830580 758899578 530477214 431453409 793181382 507524421 351335027 289546612 169105329 993922482 906312885 587298275 889468877 594876524 855995384 106659590 453669119 412927210 829374961 201955328 796488858 362032400 841186075 442766548 487424337 704712051 653370154 139928301 455286121 704672540 410988014 711118312 539426209 440221563 890923633 494232852 927226048 733769189 657029650 103575481 854045437 100417631 794854528 814148181 790043040 108363603 781618647 821213493 393959464 241018951 108820427 775212218 595394291 855463513 245305346 671761303 692265043 593887192 442540145 135924359 670359236 973459646 631899332 113356920 397717128 493955258 650229480 355574410 749972626 838652924 359238334 437774153 167127330 979003849 692085313 451465668 573431737 372509380 224092150 270602949 532231388 103177439 686501322 982715852 883294112 663799850 236874415 721871410 142531952 577098058 163773134 705908416 395484373 245569745 669071113 343690182 965638252 160719222 755010103 277756323 909773175 828395983 605356977 582331816 979703835 701198700 212273036 210292901 565022975 965627815 579449557 506317793 897266038 236450865 679649776 105503967 513701374 318850736 570169697 737660229 323877674 837873129 687004979 169434254 453451902 258782169 159920913 455432482 946787388 606527860 647988425 547352692 813584672 265254245 334156754 908664919 796639227 196202195 482453691 874274126 997900142 520038416 449938392 139050256 325729511 972910124 459874068 153006858 783455404 706179291 228368419 898736384 952969201 840899957 894068560 908379851 321508224 154798399 516400530 805477244 776683211 161087112 831622954 972879748 203617753 605085872 866277329 336487653 646150078 371307014 330015074 241360937 893815335 831859989 608042284 909463301 507762137 162958606 127717941 562834144 404350558 395343588 152209587 150710236 528731252 237305377 632513632 755710691 781923094 433366775 211234707 798739319 998241565 540140835 608304024 184694829 215055194 901266536 942589138 508345734 536193536 830083447 205634324 203376073 945339767 379542277 219989650 340837231 979217082 998068139 679307737 875522941 799776134 473044729 534205128 816343461 142277792 380746538 800800032 985920002 739803187 708882411 252245972 430947901 558028494 609279428 668419123 214790014 399995873 527884291 675151167 381024693 673024516 933078726 465379931 331156324 293805236 173294637 278753954 166123037 930019819 244979905 616589571 521405207 898476814 741170901 939513627 558802102 292854360 229559761 550543252 123573505 544189410 629632349 122428614 384241732 215862445 642717734 327417781 324232324 817747195 416228740 777087207 683882464 675698298 844341490 764278746 711853805 312557607 515403876 612015376 707277080 580106051 464133925 475992989 740023557 302099387 435573553 629244655 533794062 116797344 986113755 725210706 462842838 513657683 809259354 555897535 503234746 620110737 489104522 537139086 824044743 771489491 749646385 881346526 471099080 850059576 952962510 737592265 291816344 537603039 369067528 758975549 941849868 987431781 196197908 460001534 859211371 813455924 426865973 896081241 791980760 487552468 137740245 901525918 569815035 544596320 480033475 977136501 513972953 281613903 251157452 298062426 184793787 379263340 216375099 560110445 536194774 273775029 787778880 258705785 472801364 962927741 246629755 807789248 890107970 851452454 170081909 164990677 748634512 482737100 206625527 464322003 269896383 383792669 187124839 929644680 114845879 879823001 749928280 224995889 918928365 355217435 452675115 879974187 476875125 157929191 672202383 462159319 438290410 800546065 678871642 930919000 252578078 233914387 291933351 339805191 580420232 568328772 496778093 390012525 919827991 266797354 357170261 595235315 852025826 426666394 900648048 246363838 342295460 345578497 471816259 302078424 991518564 666822356 455401809 612086815 747527206 715388587 464960309 374541632 232172602 470000153 508701498 713138050 459823644 216672609 436458040 182921577 848822792 921685398 604539777 390523530 440479588 514903649 365302366 602648458 266030408 422679874 725956214 532673777 875340290 997635136 108232801 691703353 871926356 893292942 928317776 255656613 520029485 934992684 508496382 933574874 255772376 489395050 224382411 474059476 563004590 615892716 783950668 254624331 995442946 959150151 395868218 808125755 733839785 423337309 762991592 359028016 161448477 288224977 656603221 315377250 779949912 581175865 504501239 724767997 209668232 715119732 212552869 125501619 500562912 303818152 562178885 816738322 232689056 228339953 962451216 541922746 183562737 213154204 107650892 243260699 676753261 275702325 844708180 646803103 950266528 310351146 760523316 865802084 131664050 939657226 117047484 428095191 352223223 145880749 605824756 377307328 833047923 915355020 264410179 627739839 109228419 484632604 603665171 721898279 536883073 474233109 584403402 316431684 972976358 198774546 164014569 989859270 960792885 653780371 934506443 499908064 392624434 437022228 647646522 599674897 909706396 822130119 774588891 858628815 161408514 668199390 631891337 773410203 767664382 921761555 341136774 724323311 791114394 764750218 394134617 985190117 834635794 923053331 177025421 399102403 756591240 127870850 690665668 445719920 365164926 681132932 497570395 744250590 106857330 184487193 809246059 108938313 985912206 484225626 375141766 706512100 526448138 685465181 567699067 900254748 385385101 530983634 980378841 938579236 253927266 902384726 940542605 426494456 368270091 203398791 221679530 312971955 669594452 713149534 910879966 256611520 240175829 400265714 347744442 311276152 791463598 963626543 434277839 409010463 825058563 878770957 216390047 562094684 346555451 580937925 533854603 823368207 821274710 718875534 640630610 519816101 453868010 906150188 388394692 644433861 535716831 953759811 622554151 110060910 322178804 684798133 912509201 542017247 762641441 723538007 860479154 649755804 507850147 141900803 596938379 511321160 547593601 110027317 497555307 330067934 133568174 270622858 836687910 707520761 995780725 313519789 209361235 478235340 154596121 334118750 939432464 751057358 601776660 662382003 585188412 405453903 450587301 270831881 211754201 571599918 857808150 134937487 915922490 789930684 383195669 567307222 611720093 451424492 989785655 189140244 978180034 316612407 770066559 932127747 152922625 199788263 707324330 931168064 786901358 922472552 704143764 737643566 530412635 133088080 691582060 853124584 942067486 582384528 152108786 724887902 441051386 392540833 602398652 819925473 465470216 248940918 633624540 877085945 893624277 365079973 423735687 236760218 783704348 185121030 100639346 465492639 767347700 197364468 250179655 725575783 585607630 675104554 520667313 908886903 843481999 695093811 912750286 598159127 700125149 778643823 838777418 280205685 706987466 117173594 331085564 255943742 663589153 410040820 332944177 992960359 622178755 533940431 921733428 815984476 663899876 882128325 947739426 734866901 849423190 765503320 381075283 484407566 838186596 905507305 167836976 229326378 563999978 107215884 753528720 846467222 612459222 765775385 730904086 468458934 909207919 814744582 893417083 459735602 845258739 707824898 474977547 796094211 341186297 607653770 259270315 545868764 307309329 162388444 125835134 703726528 138901299 582445826 631691419 182878337 425575568 788855458 609090035 745101638 264924294 805323553 378482221 564080455 581642820 948204300 501536199 503206058 449107665 829215595 249399452 647207566 253864625 219886152 195005294 163840800 748632047 263545920 527865988 221926058 626844773 964405257 562271196 114956118 273307649 372909373 179091552 749513614 103019658 290831899 153649932 509007970 445705252 531332488 154279199 949758137 800417816 129989153 291599831 623957618 302619451 372603717 745827230 224941727 269039396 669141072 602251395 172618160 974821193 976394666 272484462 960660288 187423969 574292147 504109123 884180505 959190426 249461788 352460679 116659265 698582124 245655079 920872370 912028520 334047721 731457794 351514737 406249262 444214438 674138192 933125611 844325804 861855286 196663858 785876486 103937340 505939301 825104442 319554765 416007316 737362224 743986695 372263011 327098612 508568135 230395287 493998546 727518778 693743209 669694294 682957242 166138399 522122426 557089220 252837302 900890587 352346647 763204906 315863100 611402086 612947800 252639176 273253724 555004485 881905552 753277846 429495542 725625916 693384622 843444158 886384894 547961194 599899994 492192448 929879453 818761099 611066049 588256506 683574852 520036367 388858393 673765422 907320000 866941188 534336554 867132472 826466587 919313853 758607640 376523618 501299672 237851819 680898145 874753573 553645327 916110000 874808390 995983822 110670234 944590826 574338973 576595222 454322135 328067272 722515157 260189442 559968754 874264718 621151202 532646948 303571570 628182371 151563125 915485212 565868349 261592314 176691645 769470219 765667084 435981506 380308545 638274807 335018199 162535137 445540936 692478264 595428436 815969890 272272653 341091567 331956222 920456509 341410311 120625450 399412533 468165183 720008341 338111054 181244844 330926913 174050231 111507972 133780369 642252360 284111736 657319259 226589441 658474365 217580959 695539558 610432120 583133436 964659222 735892967 747997698 830569188 477355043 763342464 627357034 207655004 607204194 826295202 389154636 578199042 376488836 753390703 126510966 859479381 256490899 537897952 471966447 494587839 482204869 417339662 444868547 728130831 631847746 657658433 842427935 291452336 680357137 697436948 508504359 532586255 348041470 722710002 622820724 684448043 257484343 765208612 678544193 620473009 285768002 796126332 906931787 740646420 135472023 576018477 507625246 708345599 622696851 233324559 519796369 926307106 598486650 521967448 792776334 276952469 755755070 648347118 266510249 992470459 620032825 907993417 728569077 423058520 277275118 912378076 445196837 584628178 741441480 684582233 665910612 227145629 874296600 428369640 972357673 793095602 885148012 395953251 109144611 541211832 199551650 440090182 488158479 447863871 476631637 218772018 946539327 997832507 703205374 335194325 402822227 854630025 120391452 344539287 180633392 363731980 326730009 803236839 860266901 320450829 701452773 138823226 115634095 924280182 585724074 468462718 854701328 438321307 357751808 290150306 906921637 129196310 311800487 830332530 748621185 924523955 528696186 256630215 513330939 718680800 543700926 659156623 886132360 185758442 650108130 911341389 602531470 215833527 323422238 823889090 313711724 904361358 647145789 820641246 316849027 165420928 100997195 194970767 413356892 990563594 609504045 665335210 251484215 964372132 975375866 623133658 521265150 998081142 491250609 287626546 264006640 567763702 679911057 762346518 928462470 840941408 265242531 197886184 603887901 733803087 403284749 276595772 556105263 708444050 274030026 857536796 427171999 167886703 639208772 903210451 901715110 294204619 301533282 368393370 264089692 864543794 648648217 151738258 702859776 121575409 798758797 364141099 516959516 381829041 253944989 541150820 485015878 579545281 535190976 651846967 218497013 799203508 242498829 886681791 505301786 360121384 925371372 740749597 291998051 994669458 911582698 659932944 770882417 728924709 970857864 833110792 632205158 259247851 767350377 744819916 876585781 815596416 593963192 126894784 534670819 628755387 373558492 157184006 159560684 342694232 305267038 524662213 316188644 149445355 800944780 133964223 514035585 319122044 375497483 118448747 677844864 611671036 965994877 479537392 852595879 367537721 713586415 488984236 408692935 566611386 439742174 513004500 529320541 383220291 181859803 354742024 355237590 745147052 306737263 734121566 890937672 132801138 234198949 474349628 682272350 219107188 310894054 881201583 733411217 715720054 456748059 530916347 530807607 257535445 341783994 139595361 107510421 558738082 186921674 829295364 426219145 435538180 834140181 324000651 657153681 829083315 257935834 915109344 594305312 695836329 236619942 657861718 818109851 379399922 147093679 339800856 951911695 914780457 721662481 386117428 927421601 976926809 796759606 219562025 310352021 976924653 206485212 872611311 248447498 372016730 659787060 132364007 241805634 751660376 770252153 470472239 145065774 687138638 444292046 361460125 564628764 132712402 992136183 584249898 145713804 845042549 330294989 737737093 630655858 150154514 277411270 435708057 170940991 748905849 177513320 998959542 843839624 600765667 350176384 539284526 883200724 930108497 512552302 968681420 741200557 231475755 145488552 508737325 828629454 506402364 957415822 131028431 585315571 930262598 310240557 141895499 423104298 243836133 762592658 889331731 688103364 517031366 347428338 705938183 319674934 347125879 410603335 789123496 706440895 428750363 155960803 812859199 106862049 986105151 579872789 907891142 705462493 888342503 633984722 824362433 739185382 538753371 243200468 176409651 803764741 609521723 742589653 303841675 160681594 201219837 238420050 230362736 603669288 322688867 566422158 495222896 956202131 188114728 905246958 933289201 200896085 112337077 878766405 836185164 573621098 111611977 919393220 372042361 909572091 492113754 726907462 563827943 138002135 774701706 168679260 612895174 359166943 548377730 296819412 684623135 273635051 416693289 971898960 901403785 584963637 971786620 960873447 484949071 223869703 862497713 960929222 497238626 205608136 536047871 420134989 494001716 711976681 621632376 446100923 839816263 359922996 762296756 947401059 166794774 619289151 327735091 488820392 740347024 218338619 643127694 443948460 417694896 645188830 280954124 125895599 831987359 589220739 149849273 263339746 526837226 688382088 605057049 418036816 486631377 516420005 445038273 913955491 923878240 581886909 356866003 289761539 115703232 163463478 868774812 800133558 174185618 846634797 709146432 656158286 108385175 595507270 562221116 524077086 751763837 242804263 194811926 885420306 635856028 278907436 823723860 862867586 789467863 868143486 146114854 818305535 905342733 120320022 527220271 199351843 926104671 971230280 257817396 784704191 173764648 786520755 189288585 333538018 377827937 755193593 115933125 782483773 399103579 992352546 874443683 337866720 814222394 886108876 316970913 763798180 586584664 271347876 773211491 353799790 361944018 117601600 513412827 562388270 348734148 389125695 839252661 957192225 130440816 918552548 685875882 554000096 516717238 792920633 982239987 577392007 785895848 288950010 523854051 941164511 424454589 364709938 524792250 337867023 254398512 725492104 733719859 831877476 550815184 392851802 606972212 346652210 560505333 705639000 311313816 324658681 880919575 316003879 242122470 181774367 235100003 425451666 978396432 862816225 837924337 606741481 847304825 415096840 330390092 420381503 893880323 315638390 351604336 208731968 236669332 644432669 331803482 793733636 689238968 300616089 499933461 482596075 361582765 484723923 189928075 982992993 112266687 743630470 680840220 864164981 359332421 534810611 359503332 700181729 362845506 656850643 616534939 576323650 480384050 565825225 994496952 900442744 766831661 983083018 418070306 670608066 333878192 549493537 556627377 593938313 454563562 952191306 213834045 704490447 578759168 902269193 389674658 737861128 525915042 948827316 623737850 737509017 941198697 661681362 215837268 428950513 315335226 236642721 689512939 956428043 797784897 569620433 108101436 903841097 306680137 163734850 824225441 874234613 265325850 324684273 560233735 827480827 365201858 413623940 406592137 586736934 443096749 873681610 645692802 994620400 793693424 883776087 574147949 776238220 614452888 993092204 302141624 399043185 187589151 888221263 356492196 771519298 588095626 848210547 927474142 708114038 512562858 633651859 332888690 919245388 244394488 883228793 433654147 925755097 592853172 255413639 229779414 403050439 498451334 729026695 695854488 359816212 735427533 733979841 805356500 597611617 177184910 946201797 635085372 742578618 244519888 481852017 875866257 618404603 313481325 964495200 619893296 138455734 672178557 394512905 842424521 122676666 254339350 118338148 355066753 503731404 736905591 736069833 643879273 757584575 673712506 271028938 684394482 221984655 111356489 352288720 965228748 526481819 194188217 219721760 790726700 866943999 231905434 756942533 753719565 138479226 363460013 959022006 625955296 148795316 580457006 214298461 280574521 462364106 957015009 914319059 853104975 689328091 505770702 206505982 502297551 230851256 909599606 982916666 109611799 811636531 684280064 550818269 782568703 880617749 852744111 213972842 199305340 100928829 547294390 774669580 104239334 106747096 831062320 912128323 779775117 741011020 605676055 484746373 448463719 710022329 854081941 132643839 182806363 984755912 358503071 946882799 638602123 950374128 815080140 857752689 642630384 125516934 937766467 308844516 375110936 880661700 992092852 727985658 400751351 241460216 680562529 245523346 269291903 899859362 220864327 364870662 639199235 975478480 958907019 480584033 565208178 782052197 181737743 685829114 354795438 873381217 805816916 141909296 208271105 663673054 845318590 355880029 921220672 650435105 617343016 359340182 556284349 850622254 338638246 609403704 914663306 518665148 415041698 929606924 416441249 373866987 435185234 651419094 283120690 368951477 972951647 276650409 809543623 516434873 244105142 855326022 266242931 504753951 814475770 367286878 284894804 933731693 789116800 656384248 423615290 278383809 482829821 597219164 757997318 297563025 137796438 968960421 890335467 258152806 436677580 139366364 714334030 903542962 673634166 800958889 244347032 729547546 315601997 914538609 531581758 854461585 510618224 653332657 635153395 964241023 914965882 218890278 852699899 825600216 335594809 943632360 105346813 173285880 368935052 375211927 648569947 156286892 784894018 537415770 219474825 589093029 175869151 751534974 313242292 930764372 515001366 956466696 574440935 427087487 177817093 251915014 867274506 267328030 106771100 538406084 655285427 744059243 943869359 816310622 598821743 719616025 394205179 641636185 407566185 474845630 732905319 866366720 683060443 309358467 612825502 126153389 113293179 283613266 676669551 997043432 214689572 440964921 124215402 870099573 182347087 273824249 296321982 230641742 271027384 718082707 717739400 455941384 528537925 375401539 746055966 531587479 409758195 485662871 985851133 597836742 365585583 426236280 238383117 872268571 683590724 816241311 798990462 861985493 981098276 795899024 953418888 302057270 131037037 223161822 706693128 614560779 833735539 607602380 755779453 671085390 495760517 597461007 786063006 631275155 738898078 241632927 985657459 528806613 838029486 885123592 746977027 848212245 773759195 743825470 559664197 936415977 493979267 446140340 983873488 959439459 588457607 747334091 849807635 705428229 555835827 771643915 962968947 714920318 324929606 172936302 715596078 253436256 378226780 653735940 211437394 176514984 242088772 521307868 199134849 998313633 234309896 556407203 159468271 528881057 122742435 772304431 933734735 679881639 363896867 164122850 721795791 627223208 546581214 716376961 444356628 630277376 366152036 852134325 785684131 785216333 448123323 545257162 489585410 304229860 638001081 612251543 411166560 222702061 190392057 227732335 232519353 827234222 349765479 735829917 304342646 224909005 616700659 805288962 878523758 239126457 833346338 523250367 165468769 117626443 877895872 806602082 236644848 143010189 713776124 492310112 187473154 259449933 930008334 732947664 661982379 180043855 965553035 168043783 123407673 560012880 696684118 542265160 786315599 309349982 387867686 217252457 832737621 664912853 882228859 338070923 903852927 943922787 455223208 498371726 959285474 835363712 687952073 918446293 699663192 550035789 188012462 557204616 416559316 242558471 605953684 560501527 779549585 243505231 328646627 932915210 639007143 160260695 365017678 671355909 887721622 298519679 563814385 447348640 577760609 722195547 625517276 950612566 221103442 499359743 152631029 234063613 969994273 651297788 260091414 155134063 242780070 191284740 218156718 754475825 658651803 489082437 940780079 555011298 646912472 999315166 232772173 605170494 395406092 103900469 891986278 280949292 864148937 365850315 463654392 879384254 699065555 781431631 654091030 585910456 967407221 936225237 672464047 617582251 766893042 483741508 578129552 673566861 111390408 674534935 682028681 754798333 384361584 623116755 448682943 739842121 575748939 677666623 575317538 936472518 457700440 603256548 639846539 536146727 749568428 600413607 648653474 350732488 286638631 524632309 833526837 495760002 340504768 148819963 179952318 682235789 233475067 126553052 198891899 951089783 172766596 337530585 695629696 878480769 210764749 370857579 152366989 573824318 403386689 281060851 241677940 265146396 546672274 904014669 110718046 729375474 715767901 932667997 847791096 734275137 212685719 263427625 762695705 435043223 736455106 251574702 616451374 215215555 714251003 422650550 993924359 645620618 678477673 486991412 369347564 611650771 106179046 893373522 670018508 545653393 801981080 449173544 786868916 350838464 405478034 861154412 178340886 654552930 679523697 957306811 714831202 738803373 263712999 352096424 925097542 219836886 385319361 305596334 399845765 961317847 454357453 908031207 657330031 116019038 512256802 280036743 400368494 224970030 580820403 716774762 102779453 967438834 758430195 702163151 570794724 205542105 947461324 169058062 130078409 195720333 256267270 317521673 400239235 623987430 125786664 556280052 177999419 642280007 653569670 621028412 219945367 708366151 424624091 317859856 148959851 897241725 591579063 683397606 124575517 459650442 354726488 603766047 285620428 214747895 149426802 473716763 922484990 741775470 964726783 306897415 399777845 540742485 789765323 184036185 993980519 251553361 402618446 461805336 109628612 356600042 238308547 623132609 126068997 373457126 472073377 747864402 629790529 482728076 171714441 251010667 852774928 541485842 833287679 673400986 329869787 434149464 289974615 426916701 883050847 818356038 521696162 133064780 363276130 615684730 411644816 690145310 618294341 463776576 113645264 727097599 387977136 349789077 292563137 900392567 453839528 282524393 836823616 976348216 123766112 408517691 596152810 607944978 648960795 297890133 251209627 403180700 619829889 974771806 756865973 212799337 110255304 525808140 185292940 722395728 637610945 974075368 495034091 247602040 787591313 629321113 367923443 186522038 180011309 911329341 431848192 644606072 474784026 622558112 907648819 348094104 345765537 988717684 235159649 976089440 430486716 827737714 114672007 694551387 683224264 370932805 758952961 525380284 355972122 451442636 791854951 874173696 222170328 762681437 317219227 661453887 734178228 521284283 957525051 300141714 844290766 227131572 443635963 321497420 552222050 140097044 404002203 944048766 901427675 170150140 501698298 151145476 923444981 684275706 866946441 966140112 571513183 328053932 835012652 847869614 949799618 210607197 126919844 481173006 693696728 347624116 450138142 543651351 277395104 339352302 632634669 509763701 610221127 797730888 729973869 445312323 362149438 912852741 422613702 688810909 850419896 405049248 754307823 411215526 354352296 963992156 129829004 685126479 161739634 566508707 793373083 246756151 782377969 620628843 989760048 658143708 583491298 747957400 633828605 619720355 499838687 359649533 947650513 844505765 977706572 414749347 252532745 388112552 184804462 695496827 927300686 514933604 372514053 161894278 632053033 853883443 212839849 955402366 885558847 759275866 592276745 279618610 528429433 807607884 990106094 521549912 594923069 795783896 894826980 923001725 765020974 501660157 775689438 957997183 613395844 530722406 821915446 774086537 377602196 802142398 667814129 873809380 540931910 604915128 879702245 469013521 996937790 545890385 760438015 990687280 135250180 290819607 322034405 113556234 701734228 287692021 745492512 211011489 985192184 926454367 145749564 317612088 910919937 399299087 636520217 600849936 962624686 473511067 166244773 133775827 350608863 505062834 510349947 196570649 689871805 305523623 309814014 112696830 607537302 796269900 839386517 331709634 756849911 673171545 484059336 900903881 717426118 329266882 316259786 968819531 815274104 422242762 494178506 249062777 410517693 588509151 329891583 415473053 884380606 375977356 867304427 783737317 606985885 324350174 927476786 326954915 489709153 707671938 528117805 686558503 190980940 475001839 867424073 644160854 594492114 773425067 740812070 959961313 600565573 620742858 588269323 455773599 355143133 829755737 213281918 763583467 185720672 125316288 914531006 538993318 707731899 666861351 383575158 847825393 199019098 508995830 592844411 458498361 877357765 920131211 839589103 648939259 928928146 138852211 552080167 999401570 233931475 133752967 754489158 975976419 652083424 506089274 298636540 126643046 455077902 904237784 752255242 788364386 203504109 914841206 893415220 625805943 401250809 899644568 830223959 607084742 287311903 427685370 485937369 242531941 682790105 773466181 228495358 858373551 806665892 860541407 166436919 524647525 885761996 669074675 603518384 894217697 112744656 652607454 493158399 652579904 840043172 356707015 887635768 734212514 225022238 856054780 775998669 760570831 134240199 545252071 219844021 321579350 663801311 399526046 132488333 864990656 611537107 557594609 891144372 514690862 577429232 853758325 116125627 315224908 410351789 328022888 514099204 895445972 684347904 642861777 701314262 931063206 748459962 528784554 405037857 587092195 364631522 535533036 379098755 697018292 261142073 588504416 541231092 345861283 339293159 986843744 381896805 874572646 836203238 985111509 358092896 308755419 625017499 948448702 619018283 227772455 268587343 238382356 680250766 355237821 783695875 384715254 470009773 276868442 223832832 337928946 634166789 501065310 946411240 155535034 548036893 641098457 881184857 687868994 249823775 775236994 151828939 688204374 407408221 288641657 474283004 711372755 451332331 504754375 242486739 323239638 159781010 361574288 445605762 331624998 908072790 811293238 881924829 820736404 347916905 705645780 911634331 450686169 240269991 295690322 609683649 655675904 481961062 904535713 593698736 263326454 630179199 617044797 871597323 280157502 459095346 427621407 185534450 850524095 856796979 582150292 947093855 663252105 171843774 808646340 134489791 197965209 576880985 837507773 679431571 654059184 617638450 104032449 266479288 562426769 556396372 110180686 552714640 533971172 880599299 108458357 622561408 869740276 380931722 505522365 273999964 386197261 274829034 141001440 437729395 224301101 966102215 315214812 938409312 754541999 125004079 564916050 992197174 511343872 287397575 926827224 883607858 340790376 698277538 834088034 501714033 718267929 188842611 463197242 845644292 541866358 193920075 831194092 504786157 499471914 461067405 781248254 400471216 721537838 607746675 126660810 531191324 340828375 488211347 291396990 630737087 253557459 411226831 859451716 615845268 522467137 781799318 587728803 647291249 799192014 428001273 239084702 590355431 331592378 382363263 555853817 656711716 702903616 877848131 226271563 154503038 977782572 270953078 493189475 254751247 540463655 812408809 354119417 705256191 804260898 366736470 178037026 766659235 548629150 252728265 665991590 627733599 564385835 286803257 620141755 401554537 770268487 829380448 277789362 417434607 406073530 469332035 859427679 499311508 694133103 376498792 729028975 321378137 891437608 811430743 725815079 100514106 368661756 128829929 919162705 235645914 524228373 636173480 614745329 916083610 413503729 507656741 816626216 469481121 822648909 760502315 101835676 238347910 612676568 936144486 796926285 845258134 351539363 261040641 493927821 710923360 631928342 227494657 634004560 619238870 818234205 264819209 213586825 991766740 985451545 154263210 887251270 299841782 591727523 201219442 282870766 826641401 456490519 915306988 497879996 777332743 832396796 164544219 397668738 868102522 185344719 903887588 101513939 436281737 230434866 712684456 554964031 750944491 272325870 631003153 265867335 379487961 691660468 365653304 471902920 868897663 418133692 689347317 179866336 495414510 537036780 439127712 140519084 348347297 674721209 265746209 531065927 134034078 602394755 284556372 658042272 804274014 180366588 208107335 370343811 230814584 314296995 488672089 439987230 326914492 613141284 901173317 945539601 395275766 827668571 325499989 809687329 160459116 891645946 410994197 257177462 154621667 238936187 475195156 817534102 107159718 926181877 206346056 572950982 445340527 791169692 851970261 949006054 350039276 189795957 477419347 523185886 237695885 922529380 616819388 230967227 456669904 635019451 957681873 297182377 284153942 116875084 487773719 969196370 161739927 812120382 614606256 935687329 736748467 239605903 623422711 432762972 625433988 134371841 746987090 367493985 400378049 998469551 803981756 680182922 391004025 452435810 243923817 644054691 789867496 826926183 644696668 664824379 717077575 180665202 519809373 612039719 766373664 462225263 170405198 235953000 842306607 114161527 420812699 599615801 975279123 929408795 580232086 745599737 197483421 139379119 180585814 926352732 354387513 142602695 353047587 423705569 772183546 571409258 833780827 284092630 357980500 443949860 219435145 689741236 788713431 445494397 698712501 567767758 750047809 893602402 387705973 737842856 505271104 220343141 478428611 439501277 849281087 966849080 144269253 448813279 982768609 817288008 335971203 361970919 341790246 304225238 109238997 362998227 376338376 188866668 600477897 177425640 704443283 915571383 118461732 325556217 528656315 689438555 587293230 859328245 875323286 113279349 854255420 227884133 457225255 378869809 904142067 477857151 620161583 138540775 278622848 358872644 335814728 503336477 954597254 484009123 542631694 932674121 297410285 256281609 680851651 840786400 814302241 978549247 254666101 117471847 578152659 550620913 864390776 984579728 608279818 659881315 868521241 850861591 424241142 713591945 325622855 187772703 760758558 206670096 816570580 659761748 303939585 341725761 563346142 733832273 695370613 691344335 416603529 937525988 131503552 977290026 696529346 199107995 831286168 525102616 847700473 493385758 247076787 242888649 632475008 173075239 338122368 219005604 829325564 983503162 362395195 910655019 397315293 496516491 799919967 330909166 492490724 412766789 200976393 593785581 764995354 370413377 672204534 992938245 620640126 363908296 360012149 908146851 215138441 805953196 919011356 434544056 924161253 259749833 767730837 149295976 529804291 379114707 376506704 327143824 913262628 842800834 353066167 188977565 776644185 594140409 617463639 256700572 454779656 445762280 934638318 170086483 454859253 537380291 875147188 697082261 309989901 411499927 505405857 469666823 887365769 127825393 614385784 868127623 774111512 729254633 120066679 602790760 494918286 687801338 282216710 347150470 868867474 542797250 380117755 425951717 547239194 533750525 796967079 822116339 892965058 473989459 825984993 644690687 181251508 518792105 200148386 576457111 390314515 979296637 365779858 782455872 289760770 311164041 685125851 839922226 554077803 672477178 927287044 873960519 280221030 333846762 739893692 462436726 302310906 891082104 134798293 322330569 881684937 871059958 536390672 801649763 325016439 593070973 431700412 584587924 563706335 939990091 684182963 966717043 364503480 375272487 525186731 654152600 577081919 165537804 266953578 236220095 893847636 854153022 223810121 381026954 898785506 148632065 954112518 507791931 246762788 664090496 880568628 893384610 416416080 763645533 336988821 569101684 234451093 837077962 816825629 145779705 249261905 656906548 191203011 307112106 170401471 478621102 459215059 599063882 189573199 623128607 384368174 217621821 778183731 279361345 462168337 101938854 484130534 328045553 916867211 839937514 680100733 900827795 179523094 412737445 149040634 633171649 779176687 184679624 278598725 349990919 355938747 333183939 273425095 130277492 231337414 392153974 418760078 720323922 692993491 732816742 669632677 639777429 704942207 400838172 567616547 375163463 991487263 727005974 438227906 903504767 266767537 372654931 116405086 897473109 884758621 982243706 554743908 220455624 764146091 840408251 764766517 100750594 557461904 412643043 701706176 247525441 855806437 157227819 820073970 110888723 420664919 996577770 908247585 895079421 831376818 762676492 140623106 964229654 119816241 575298413 278459340 328822013 159655940 484946250 698055188 933301246 961413587 112955088 688949279 818975208 158710284 496452532 654296775 484188869 992382480 103025664 410464482 944167840 163678148 883339737 896543377 635666603 129740968 585454054 610886911 660955257 711229753 321869953 967501122 296178010 367371706 267383905 603099419 993865742 115361029 733276737 474404414 491275453 935921260 218681904 614236462 560202234 752843700 565686808 510015645 821707769 588668603 785857112 800802381 893602233 687920168 115302564 598118607 668218603 241056408 487084499 486575838 156002983 173161884 898495813 129662467 543233470 448272396 956852750 280911903 974573092 140265625 610888244 779980873 486624404 278366371 933390648 168122721 769995489 250646828 303897839 458826530 469997564 737903308 550125847 198061885 105629339 102505472 658319240 596986721 976147007 863768787 291012985 671148978 331445684 161479387 977952018 734217874 265692556 698591705 528667534 944074408 986191325 170606921 607337037 884069260 292916541 825749281 471814765 334926114 579824144 727858529 132337355 612093897 792245761 596312134 595778140 973882676 549188996 868130421 997748019 344703435 425499613 343100070 273022954 606985629 918172430 245637323 853752806 822855577 615746463 508070583 942654849 412000097 104950866 213595979 187211778 434408826 601659034 821703205 873218333 534126427 770063344 932913763 611624425 817246070 919559978 557271386 974594917 731326818 324517129 331632830 466215808 945346412 612590298 934641387 791690639 330684647 276631259 816000049 536395433 315419708 429633870 340858982 828024855 129906140 242263290 216707156 838780211 431212545 449475191 112593979 622471389 599916156 818025991 886718423 887183347 618969082 167920199 709319555 934396977 997466773 120384421 483676770 242426822 332051759 712594602 435893469 535589328 863591357 776444064 244497614 774123576 726199338 815639671 307086164 883048521 123657386 426482089 828579039 283352286 773143274 623069863 879172731 572857050 306791258 779563780 567406383 105408547 980164329 340312225 624966258 887463072 321330041 247094688 984913581 699347649 291320134 278419524 855089801 235666957 653352313 627271801 405621770 701329488 773380969 617908260 485181538 867997798 214373832 651865058 449697557 478183582 905819973 907363402 222538155 769901357 653031767 389903248 453130512 146659370 441939862 916515520 434151181 243843978 282411031 749532229 842317597 321944173 413187142 333867256 676486122 976395681 879190943 712309271 358415760 497622861 639528889 649808706 124466945 774654037 718541246 764641544 651411231 303329909 453421973 940057924 762838422 548191127 656401071 331251748 615782075 640698736 324087807 394018433 609222880 813906469 654013483 150674505 721352108 564705829 700081912 523280949 685369094 989221194 843861452 718800934 606529442 599102655 726780940 844928103 272482767 238176445 292088649 100706850 471182435 744070490 261336770 138061046 444261222 728039407 640703012 115780852 561404066 891900708 379217221 795658704 186069776 166084695 959533880 162638656 559534894 928671967 282395278 943867058 190706451 267542451 884683410 683502465 869040594 915540269 686683726 476541170 262509527 143840308 921636085 613952006 728193946 586248595 511939922 373762370 973647940 199582872 807897010 249402177 472757792 729191880 742078698 139532359 244038817 610019563 598574076 749221937 766161088 596070745 992136826 962767167 342844766 386527091 979867549 417437623 793214807 253241316 392864186 701193217 843172184 537004093 275506167 235668399 732074320 554880245 128084245 280500662 383642643 529862112 302146643 705411607 350938770 373521466 139882751 899061656 730574661 798501423 310158769 215614835 623901927 900034603 509148215 185058189 681672547 896757763 448758693 944326251 398162396 723365942 834810125 644043848 712880127 570081905 641091953 783096108 161696089 404112736 779917364 168797226 384403528 289935207 960978214 609221674 262150291 557157540 138969393 577110964 424837643 451320004 583400598 594203707 258680771 563446135 557967551 148692511 815159397 871588775 207286096 782324957 288047186 926008822 759896636 921216024 961453119 988549601 801857758 286254600 250316987 479040658 975650453 540363986 666386840 959679821 272018431 894153140 113068377 626834978 470950874 158644311 274786069 314944591 111378436 268032947 725724836 511292916 366441181 683258494 310634788 938775902 997299549 656942170 923185161 433705333 507877189 233204332 674337602 912419983 851821676 989556999 960448498 884009062 695817535 129849795 174888797 164944768 519469660 105948810 118571907 105691050 193753153 553918786 858416499 639078727 349474548 268951233 977163008 506858352 312610373 190548722 203119215 901466931 426195355 518357186 530975049 795293000 585484003 662786743 535450868 177581269 485376335 150345885 347286856 721544127 578285278 396062656 676353375 412198954 295481173 118652850 988276061 255325973 791392544 998814140 336769884 889843451 376663279 799172341 349978950 464802734 223656847 819144874 165224941 110918864 296978682 883805236 427772960 203116967 848591185 747198972 782550181 861563092 899328313 847020172 610374285 462934521 590118931 668299857 498887824 356328088 355963583 385621533 881541997 210574106 148213945 733604554 577565211 725982600 156126401 903055286 331707555 759812867 389794054 371074725 273745584 434783696 342407932 343728050 479046991 901197928 274060585 649258683 348481882 919393368 312987199 626517589 858931349 243823910 310214445 571319244 958558690 722463689 499009322 324380574 459884404 750526849 115716717 990944631 643883495 251105162 134525277 102660194 957250904 924235597 624852405 972090545 302342727 186011130 498971055 650179545 395262589 225273202 532665253 721752618 141364658 871380815 625215412 348019916 419326874 646382263 524848049 194554711 369738514 283495817 699750518 413002323 219095830 104210659 177453736 125417142 885604312 792268263 929780610 269456394 263783071 137322833 601127097 295702416 826118980 638429590 864990918 815665478 351326597 678013896 832218933 172425026 398182253 741726348 888020325 963386236 203541664 235985757 606378729 399234834 125281752 564049434 673708779 988159865 789703127 984003305 187617231 868945086 180417735 246837403 909388038 303315925 258472903 290291146 762668122 916080315 636059438 304496127 621098545 938402114 774784887 603191872 264133415 198096488 950694334 760577991 809347349 454722394 318539769 474786895 538367316 312035665 411078457 640505654 251887305 528684274 168365543 802203018 157216373 494842151 852802102 936155814 491017820 503872228 271011133 593042596 844204242 363109409 496686352 503959028 610093343 397979910 354752092 115530470 272537308 728318944 175099565 503091159 761928456 125605904 658792679 243268847 957747955 734854393 588984711 330983045 224815565 994329280 333401866 408651735 795794467 250339437 294079374 899001126 311491255 941726435 496618507 720196561 282154798 479122287 555817281 175733624 920186536 898896281 892502593 107068589 967084327 180451081 909897577 239532478 883742203 289808218 642016703 650362252 134580752 426916821 973392833 832588694 167242263 468617957 880871822 908129978 980507550 241592475 895764808 920440574 661506249 482510823 729921971 138767126 533903097 423178277 506903065 533368128 905948771 717372094 925947276 844437464 187488238 942848803 293585262 853006668 473720354 466449270 215592720 270823922 381748802 572665344 752145288 707569352 692971661 840246748 899392654 377400366 822700363 203814583 557179215 824838781 499181887 300357637 799000437 711555564 916349440 937134858 360802501 380050791 472279798 810758540 142994700 421344848 656942235 988476380 203375814 733751668 872803305 934217026 704746668 435671699 245125652 253352109 345252256 944523487 555218732 971544587 798433302 914422763 693547302 610244885 239378351 164101889 825117731 539569174 787715661 218592450 448446691 700702962 464305839 551632642 957472087 908544944 198617468 121349071 718037012 737894028 799928584 756531803 736761348 714832589 924827720 362529598 624540302 936305019 885094974 177126367 195587048 567433817 445623822 426681439 441404368 701670586 543295166 532340708 569949113 975758672 915878110 541978697 993206633 795140701 926166188 355318286 234933656 362853029 713940991 507949866 883425616 795000752 754001844 997064586 818829491 749401433 260411265 826658063 656157450 606563994 849630361 270954547 688615245 391561384 241070180 223039574 799597476 596121229 313646874 297507858 420936091 666252424 987844443 448169078 224296006 381992310 147689276 800622383 740819839 685986290 647189748 483532268 124069475 452284435 698593047 140059030 707649165 912146825 595052898 444103376 579562591 277103530 430949555 988331058 134946218 734156684 837287356 811028767 586398082 869166953 629520309 739744568 625065755 219394720 929766695 108014780 904474387 906317312 139802510 840438117 290926291 657863442 192327172 434789809 801351798 298225165 731154276 618428318 794356021 770038906 807867198 793027563 905869861 416960792 280027851 284389579 357026404 455604490 287148030 714593315 412362605 874503886 421420892 140755299 487723116 503485739 768735405 725266526 512654786 233166941 634616965 657425537 374571702 257332531 679095092 584357521 792077084 555917554 611852602 427186533 709795403 115555888 114073378 989923740 523489417 593610635 952874217 163855068 345778045 750849485 535099339 868724703 738843829 526907428 651820004 769449770 657142489 300539465 576640897 724420024 996352260 799660497 861508538 515073390 635436113 935201148 295714082 150607017 119858296 259828919 186742099 195235278 552451543 593362369 355815122 869858619 556197293 627504428 597166911 200370118 494281934 132926082 562456535 584877940 679948208 939916629 805039562 343776354 713838679 804429932 379584725 783049239 604979780 303789700 646236842 836022884 801498312 224970805 663310487 231377104 466498149 323891623 136323855 776375054 631045147 931069672 531815086 733217839 556082852 910761439 209571486 235438607 303739128 115116113 661143932 824649490 875319672 468453735 374356621 439249449 530621060 960277247 210980644 918548779 222892238 515784491 202850716 385326630 111617428 626658807 922185244 151802096 415442537 367108439 706604709 786965973 458813015 914860839 405670548 557347280 588783027 307827751 723202137 706337582 980722175 680583079 570026217 921379133 100682454 488771085 671768883 421312870 329827659 625364025 205141693 620018272 245321671 414966277 596851925 758765766 727617684 499779475 522918419 110058942 202320432 170753749 775410400 100070498 288695235 526009919 194797351 189041667 826080378 522638013 450944635 143536379 769502919 423442436 307284654 445763321 295258454 303087190 787458572 284512351 857334286 934133846 366582361 627693853 353683783 306218496 693286190 406442621 375618706 111864993 852971772 884484980 881183179 686979430 785345675 246682637 869254495 112577318 394549907 118202406 626731371 930673160 995049367 324121455 108216342 991231463 124878384 633592822 661418924 659822723 611624215 251109881 137034110 946664589 673743149 938466439 562419990 474593027 440387125 811858150 587213473 783774581 458338931 545199166 857291228 216496276 467944409 810596907 128289002 761329596 501013693 538129082 458257102 329821475 411410827 569664393 613893141 161280562 379702400 385868804 167764012 898193494 897075869 259480225 653010848 576159735 283172289 436466023 118741249 230873923 701842908 633257752 762830820 595199142 520225146 967078271 115746792 317628788 194006023 119222712 341194901 317761052 644741785 805281727 905312810 110419799 752011939 662416926 490951495 747505276 213661279 631464657 854910231 154074552 198443217 677895448 767963647 778409607 533599717 467934813 609934667 680555726 409795069 206769178 627285267 301254087 268533403 219246418 532148905 145591654 895467421 397742758 586284294 908035839 591038834 215019849 542155087 436759729 837789059 945833972 643770879 804695644 291454930 698902565 815684639 834816845 960006402 500986000 465468009 625025940 939327134 910216462 219292848 748827467 647881147 721874247 785828640 620607672 260822361 562925719 521805784 938659184 321498342 728528606 479775429 811436976 777250405 322206098 658864034 379522183 812344273 281578698 969259984 184155406 245772766 139856724 445203116 855002793 891335633 201131885 605209026 448434468 403918501 658274006 987300406 614294591 341840119 295453561 942370586 759384708 728842741 102620372 207750546 943169391 355789486 859555818 669892500 530634697 599428733 481366925 834259363 558124999 210503932 585247101 222135288 328652187 852686098 804482722 867461998 977513893 614411466 718411140 797439406 407976449 540377672 797886089 785039112 766115435 836319788 704618879 115717414 753174807 121717907 217993694 434652557 945714042 445860304 300251038 412943222 894403784 337278446 473055193 758192910 999146768 169391591 538383456 298249299 229259246 983077571 509488900 218411736 223297025 281150096 500301565 168627526 945891879 196483688 710439000 166412063 859477998 593269443 178610464 632180183 815750234 545967652 717053075 274062945 860635585 210631104 376825529 831363946 750400423 364406477 929638951 135109884 974367952 513287229 388249700 712212727 695868353 701617710 767622974 604324181 724875152 608457366 297011316 327429430 682037880 903208444 219335334 372570810 869981907 408282677 616880739 721610643 509790495 540087590 234654777 762009606 452878009 840737153 965728898 520442378 227168978 924420604 842735760 764078857 466605115 328268664 710140548 811744700 161703602 256177838 799657364 515888218 782233733 893099037 545094603 403970786 647740230 368331200 728911926 615959784 497540918 795793286 413942400 898464006 691293729 133878045 247328585 818891942 771603883 410307757 143501027 969509720 379246794 488950902 752946782 821396453 334118146 696294802 199841961 385940089 496096812 572599637 335159460 856353367 833707741 304492274 262710220 655354314 616289095 432167154 989876279 192807998 712700313 431407350 713506755 588757375 246552225 218062803 398148700 806480475 605242311 311406265 340428704 745778034 523558522 495665328 375044261 314727562 806613300 232994071 913814587 579170833 375252274 607676543 310105069 447039901 865847461 520056159 238619361 465406308 802565173 499963720 380764361 656381829 589533091 923480911 393419573 292204240 883958535 541978306 675880537 844779726 206143631 236715966 236517652 681129144 483794694 825695768 653302371 991599806 158989610 773698772 874095326 889736733 712121126 658949376 354928226 750100333 595097165 472359387 177942783 516058175 391257234 110825864 915739044 374843147 639613759 159004860 617798568 483183634 838307568 681989845 768567977 895294434 139868418 611325056 458165340 403524576 132188162 162987013 254487601 305986853 110096450 600441861 488699336 948088918 711242254 608071212 734674507 520947936 137327178 278612350 394190477 478606922 271789283 975117670 832183678 627287960 722782841 522854673 291046770 724027441 863428421 971377862 435269769 788406749 915224295 794717656 254351586 142023934 436647186 734914462 993719576 467890281 302238878 470531170 421220581 911551013 648594353 301132993 206505194 230192498 305059569 532006148 915860232 496686645 881187336 753103681 575615176 149260935 443137186 248259125 192514187 324525328 660923793 878846987 880603342 290718598 938238245 414936458 352223972 566403526 275367474 934780108 888302842 525370415 565432480 450956573 308955643 239510736 334645513 397088541 624172726 918823366 612678074 100559525 613768325 417064452 398395510 858224575 356731937 891187400 872237579 934193285 311483417 393195532 758429917 864723580 562535890 438664149 127821527 901595722 498463749 796758551 250637673 613583061 536292461 463451704 419794063 551647516 335957585 769490132 790275635 171287483 193945475 387571258 770899265 455310862 117364104 798601213 702213495 692722322 355632042 212735049 434961575 967884545 488864867 362663890 685651198 254459494 250627506 853147400 898835184 765687697 264794074 548980163 613167429 325822345 640955266 113972128 857272306 106699093 679077826 911364939 854394162 695299080 257051007 216036627 336927456 987394583 954404286 201960098 226830875 884243460 704096774 909048839 536263916 594156719 228498717 959585568 199117093 235540174 364844244 897492464 210328879 860236342 792100433 338499229 557241936 997583774 443869526 974691469 219601146 460433833 120555444 390860885 578890267 731205460 258321296 185002243 911303558 229997885 118043512 751272096 289218945 669934603 244442382 837686640 764405686 471685141 479560709 193171110 490037015 621272405 971407889 349164463 566359564 484064733 952124396 736654530 293143519 516534060 844802387 270293527 686166202 359419431 442529399 844499293 824982610 530353718 947286923 440927981 893065253 521557251 298820925 871139775 178314598 912089164 831208205 573947307 717365325 814001236 490126625 399118896 873379353 286052721 327367969 763855591 912800162 493601587 645087108 456583872 463639582 225620130 375520094 326127959 895872134 197819967 942282865 505832213 852787408 648605719 484805766 382585567 184759912 459912276 531170992 117657663 405297502 105505044 910111826 885002080 436712932 570983219 952348264 353376801 663529281 452838801 549009793 469714523 271009508 333813076 397814561 837510355 287310999 212614339 832762713 779234808 487614342 490108537 407827170 212731645 140077224 104379627 436369975 886771589 830128963 999628078 499797638 931339861 821867169 843530498 206218473 886524691 836676301 954313655 803313151 887735125 977362835 700876648 242054557 708923958 484241896 302714114 928787147 374824794 567629667 920912760 406033739 990069809 222972056 210560030 685850912 179629612 684292145 618337022 897762431 300047006 749765944 507629024 694770598 453391691 832913482 782782477 940125986 262466551 174868200 724451756 109755952 505589104 490500121 232215420 456072335 169159846 149460274 924939525 386598663 979934678 986785545 283271713 439191679 132572369 917817172 257001407 287472708 193638890 238774369 161331576 924795237 949279981 116407520 978795245 105833278 391834083 982219838 346799133 563329941 800730304 127849352 802472714 846032834 608323498 374882121 155850466 492273154 953086989 113723483 674791103 284737548 657641816 444134725 793824289 399703888 131503312 945126412 684168713 222540739 332913191 847253833 112325651 355834829 885336492 297902446 416033666 503111545 211785949 597707605 686828525 532622436 757235801 164610226 609367935 589724010 919239153 384117080 972789595 563678923 598927116 508654483 426501972 243975534 385772733 400802456 574013972 432550415 188944366 719771264 101960072 172811573 782073006 737919771 972213081 345846944 925021974 203508876 453939093 262443559 865157056 133324785 487481968 989271689 530652778 751926000 369819804 572066882 384746611 721602974 561398668 651761701 973638143 788336438 500967287 222842406 251468927 500754893 456954780 733684830 616952604 988510206 690940063 114981723 820818418 876457786 870582946 368342006 283503957 844239648 557516178 985147680 585990537 749591495 562402304 975583847 329221347 637554374 981249286 138257570 720002909 970541529 646544024 961233516 941531137 758775668 828451692 604582797 826510782 850980484 626299983 354337210 658300994 247352576 686597654 488861201 830769437 179902844 617149011 790130646 493844679 980362157 663316313 542479560 825537874 328324232 968403276 575400315 919495398 185437387 825377908 308021519 193804495 860858128 642298711 387476282 616362174 403354635 627794471 943177970 407537466 828666152 182749595 304321820 431853279 392392198 291020425 118825683 163122250 815042780 569354897 202362281 747111460 856929489 602497418 732907203 656563765 690411167 715509688 793052917 653627655 955391048 488849635 438570063 818415341 698390114 420358681 100047971 989238755 292513463 863734897 444444172 736315829 212154657 742208545 386985243 865370794 982914521 495557444 328110168 907605564 881626147 444644909 189422205 887472002 504361904 744338513 584305535 736339157 963241185 832249601 502724081 418140517 544165575 624393709 881340877 535662417 174545531 436825169 974811516 839624258 416990141 273412606 231082195 518626906 612081774 324802669 702863462 860668781 943383056 990492633 842884824 691436182 350301161 322195104 964276634 605109026 604623113 945288781 900062978 246524485 146151233 326093628 706921766 764664430 761959062 822976166 403867145 117178624 929517840 970352580 679818652 859414206 710321984 197326849 666791911 789901250 760170612 545626501 610996092 653488111 708317041 322210376 632061585 465751153 309015203 186206098 838096032 261861230 268916406 393208366 156969550 345371051 923221807 414998077 481533173 682769196 176653693 341258241 960790419 296241542 487557088 470308883 601203566 459634246 449412407 558918472 122048056 236061659 342270157 217754321 464780563 464379192 691005144 141273823 164074778 666579872 304461935 529912328 139775802 216711855 332155827 112226131 793164500 750243609 706592604 418112555 965321652 670614623 543034176 703594738 489463169 376180409 164752768 920114474 270530965 540259689 824050273 123070388 203319553 807529375 130542618 698796635 643018043 239922764 848863359 109191349 112661312 621057661 300824417 604733289 971564551 305686374 679132653 994636846 442123712 758799776 446602991 952022083 745314135 398065818 345023105 182197206 752622129 640881488 261665648 709363562 247673533 839552836 103727603 317952084 176959597 604111615 435152897 161714119 322243765 130778196 802547850 205407463 464317793 895577939 349561748 575058775 537447631 171647536 988587422 303004420 677169704 287321303 187451271 660236483 639264488 776617600 548583044 965804705 875876532 813594190 219957803 175552290 574149270 557762419 619879374 604311741 744545078 752154791 653455417 358473074 507700894 296849593 217613544 488702832 533043063 849301028 368310441 463470477 319831468 166225249 754693110 759796583 721775384 631428920 565368360 342383256 957079962 618203315 566460403 560005249 594588437 296108158 156488677 959854816 518769136 247925158 391713320 769879006 518717780 788229484 306989741 658662274 965059779 779852499 696462576 153032376 470549831 693574300 990889638 601320240 152018919 775781470 702510292 150313832 698801980 943195378 373139927 997592537 223141941 822971896 287027044 224507765 489082776 615914598 255246141 707387201 794542877 911270300 425449209 702864094 397698072 516978550 662372502 120459310 469566430 652770799 701511728 691302976 920066331 829517136 180705206 931312306 552254242 181077566 825294680 504536891 614015243 892586527 873827085 832456069 707940412 897009285 708379020 849026229 473790198 907645871 932365032 353628635 421004181 581087114 873099430 500732457 293930376 297457127 902418913 773538254 879602841 624521040 775435777 685614803 717685082 861320964 481481191 365392469 255964226 380107864 625187887 364377805 949514684 134159541 592829753 181105352 934094028 307541552 859490438 575480917 210325433 746718087 965764352 569253479 551154489 462221252 959626314 612305073 419388504 743620090 255099272 477592894 409519101 843666063 168541917 573416714 788427074 963304237 494708715 671882798 589660556 528838728 871858360 361697248 634429840 425864644 549737339 770154431 790508766 220060922 736590396 774231955 733859949 641562361 372509418 617459294 509827166 488675630 608395128 509680133 806433897 318072445 768213276 111003343 788821826 790735708 670702538 680386931 247939929 957157787 419863121 477562100 754710593 638806502 469081915 567702978 414388530 383300232 145808283 794209891 727606339 425987664 583983112 432154674 948347667 157551378 382640368 832547944 291914960 221221102 449303625 452465019 234307857 649933111 354647208 919742751 949754998 184595477 568953332 767183837 721824270 421639158 638786944 263663502 673798003 304659828 277427483 324847032 227972065 433815616 249700632 716070049 467176384 822058641 915775635 308016087 342859636 550417540 872343005 834991116 811148994 387144702 845814428 143774142 780535438 447613080 284424572 582737093 151985668 926718343 285983312 955015755 859774978 719041977 787405348 502080811 456840892 609167981 386219753 519486378 438576855 400613002 572885319 288776507 198807427 777524631 701281783 334822647 970509073 307932682 880416650 664268144 479021105 310434248 258139603 579013392 295089731 214777837 262160388 371286203 537610862 402171298 440864266 686664138 561841635 552185518 602026133 142503231 764828758 103844786 876137177 914129501 391941341 812658920 846137046 406966159 808667348 697238200 523979668 219388034 650414128 851927410 343822672 242778716 817884995 210439192 847764525 620806244 157654199 606840511 945101088 711292210 371767131 234678819 271616920 197419798 543722597 860238929 590705775 579544218 532025633 896104312 713306312 129059406 657247298 563972058 292193042 904862265 771350531 111736370 802593489 745506644 812973367 971107954 868309587 541631474 204577545 151836663 562342677 976871408 524245730 230723096 480245081 204275623 768544273 229871940 311487417 577308648 749129855 616421356 391992529 843429001 922396645 225677806 911074096 822629110 124980496 751452756 654948726 233238889 438701431 771350469 519782743 170766853 614172145 197463070 733039086 106573233 626957606 635505084 626645915 232309574 948422285 279971592 990983850 775331383 393988238 826521558 864218248 598213445 935563357 341301981 104728749 905106907 820035516 161385915 819895201 728316487 775950064 683771689 376422931 196947420 610328336 447878740 371940374 375844613 336289937 522780219 213915917 696613195 491849471 658627692 850344620 640677829 679058766 270993367 738282982 289838459 986255908 760267742 192668338 997754905 894086256 308187881 588734547 174626632 699164727 284212340 783245882 615991997 761673335 572702425 819718302 315580318 726356571 610521587 180406171 195442609 115026652 389424348 582355482 804193224 879303466 485740104 851908727 836494970 100582431 235909773 178606915 750263093 279475071 322640272 161986370 901031328 107934835 463834457 164763258 503216699 468442909 467353919 955429386 138312717 590494190 305955428 478937292 178850278 725875993 604668831 863773436 506742459 202980151 734772136 239504844 799194166 974500410 966194473 263256535 388709272 408240246 718082953 950712413 632649837 259577055 282148588 501864767 730488987 707971618 497778606 942626840 527780831 109566196 589939426 110992863 270656674 777699599 260597667 161055162 689401338 380404760 108430347 688637819 156037397 937106290 592028759 588644242 688641567 746449514 602175196 154858292 822919825 572771603 167722970 402928154 965572141 779293841 795630269 136094788 901672485 465421175 322715424 587501761 778737351 673105272 117528541 823751014 962200184 388621768 350318813 421448419 327904055 179878049 837789432 435668721 653042904 294786036 547482070 410872317 865018460 263691654 170370062 524461149 848478192 192413494 867960272 446997445 234049465 315892050 977389876 953406031 912138573 971661061 455897643 728272969 828821035 159369227 385462852 895607593 683163086 289957242 185347786 720532204 284598639 151739934 403582326 851183852 848682204 371001546 584335551 970081560 672905154 220569837 233002140 387690018 463610775 517616335 217355536 398177744 748083046 954349801 879148617 511409091 693015210 564806175 506823235 243621217 346665780 849920471 843409628 410764911 234798691 921862748 647637012 309687882 643417899 176025292 445645281 802329491 724713588 384425584 915148350 170414069 295275503 562648487 366911321 153253798 456630698 503498026 998190034 570170766 423310825 232370243 380139761 252003211 155752345 160553016 471831619 182333804 926201859 652760734 189488797 835829000 239754688 558236645 733724618 818545575 878229354 850948614 611127468 660053854 371166512 427433201 769859544 687603095 922514374 649836896 474935603 504207046 528059650 313603215 572117379 832221494 831269112 430869317 621691858 140619955 877707379 899720605 960573035 585446588 961571973 791206620 778762040 566708201 424045544 986978832 441940329 802506810 512520872 781619809 825867863 196549877 738362271 716759310 562730902 687270195 154538272 654267279 244462659 544861303 818582707 660291096 959345031 993256632 690561821 844978559 175613922 135887593 891158468 166374289 581265561 279112987 357123910 371960969 123610699 717073520 919856508 678758217 720649778 695147496 924605131 859251247 921932173 351551067 889535954 657128584 323010508 610523508 305490672 828101535 796417764 899101122 961061657 186883934 562204104 123682594 882242578 203626042 707073556 406743088 218114007 289523916 193153762 624187738 624458291 361168470 854552817 518715665 937101195 833146733 865974709 971664425 346840690 608741538 477967745 348380591 788113516 587983390 655263416 934140600 202032486 526922246 439508882 879050248 894871588 178163385 522997477 996507778 787857722 838161507 763561852 912610786 770593912 655488689 316203020 363352620 135437398 301334211 311381349 838721745 303355913 207152573 576649383 685731222 468081942 967855143 592860595 885859562 653886542 706026294 693297460 194150210 791867545 888430582 593324823 322446750 335390030 949453091 909164671 746747188 953675601 220965059 453219045 402661765 642422907 242169272 593972989 269597145 130024585 873860557 641488353 367012372 831587097 606621150 300111651 257005330 978643448 838735792 543566125 261290197 974250299 196500467 289587098 907233331 594737838 556663019 350268061 659407853 668928940 432777176 801021429 793516949 882609473 960061576 450476938 232800879 133849635 202319467 614203078 489414644 253091910 423276604 668594183 713414966 439129065 742309556 290113875 863792652 484017866 683386783 980798351 127063088 503394692 559939177 949417789 979179392 828424805 298196402 466078956 323538449 240076480 660838082 319940784 109953239 566249696 569827012 296139399 703331039 209313540 181517632 999603965 208758764 613412352 685272327 868563149 907167625 344127817 905839996 165633931 994499836 808752899 201074177 945074417 567619744 763925788 495397293 479976097 217801316 220209142 738807768 709048129 111186049 135361033 179962621 572278162 108453817 878787480 228849325 497166353 243366318 887561245 496056246 740409851 235398161 209576306 518715258 827241577 248249160 242633103 947806448 885862454 578282407 802381984 942834867 487916774 975364965 828957795 738468756 212150472 813850479 709565278 205668668 106726203 995303815 278380209 301882705 460874929 882302072 803942307 524268673 868218513 388408514 669145126 118339396 277859078 797347438 129694365 296454828 683799022 102675991 960850898 976613442 611114684 496961617 961153895 416044161 993379295 386541997 204329985 728594237 991784378 819429029 871310616 548081146 812512501 250302267 785923627 662424674 430186054 812241931 849465415 116949239 653573053 121367224 285075465 815613739 629335990 379201223 719953165 380776684 694325271 258415990 952438377 622210827 455686032 744765749 331685236 971759461 865500383 173068761 906491695 791269910 979068038 258374872 369452823 193667117 367911798 613484898 513877901 499279292 737449927 579008734 651181865 337071741 452744485 401666055 268887169 591174669 392808112 194952681 818444055 292075347 634460990 132751641 865782453 517179401 675130031 901465210 116289866 253855994 519183949 839631232 320658760 737929055 390567558 253898015 476032602 175240124 270325585 624271760 667606157 699799934 166417208 606757120 238646832 876746988 959876152 245044472 506117640 863431018 709197817 217294028 199658473 700609219 358787746 797171918 923164766 445295494 675720870 851026436 615889492 241425505 866172625 370574683 559670755 303582681 424506439 632730278 235862112 617639862 642996551 642618901 771913490 116002391 574083344 597302121 933428740 303084193 997048828 416609319 413307567 222236775 684195829 160195680 840513723 263774421 614250309 131232373 658947037 211348620 976118919 105522961 581840023 655649478 919026008 185111389 412530908 917984778 557150921 643898776 441553271 737162189 741204782 224673470 268983386 317046370 277729340 312229329 737174567 119782563 419645810 440860355 835904530 643157318 438666113 459736420 525689736 381805124 915470520 499398118 281637078 870400951 718035820 749778599 297147614 220050461 257788765 193551053 389645099 200633582 866888938 617132367 138589903 777518192 160195726 311723134 314332442 332852156 280320882 672732757 842336089 217806254 853491679 572654711 155980133 704742022 872345063 219075901 250086371 541659482 510497529 357608692 920659667 785538698 255341746 742769985 691164701 549512649 952520328 757513780 998526182 802943142 898418364 190497994 877847516 136805421 302594616 934944366 110047809 912817380 181886937 806423984 859393795 662965220 367643440 150248616 432396140 690347387 520759001 238508834 402826788 749834607 113859149 262694970 139952199 395913361 828398468 292914903 210291732 841555191 445088549 664389980 689759207 543478817 595788315 249878850 758648936 541073594 224739378 845439256 197189107 498526865 855417502 726213456 820172722 143835662 311179892 257398998 969363000 779420380 817443468 221278885 595327178 844853698 413022655 147922057 271538801 440367216 834515669 210627647 299345600 929298079 610481171 737952492 722290934 881527646 814259456 963921624 918513892 606973692 865313280 534431335 997988214 679714881 359345274 810868692 422542192 367128102 246457334 533289524 524785702 745491412 331832950 814147173 289868284 232037240 265391446 768460885 236913201 888244745 387912126 472339367 180802270 320407520 819194880 689132844 179925031 346574918 549038831 931301890 628542587 264170846 144005775 147854850 282261913 596445011 736328757 426911773 169409496 507886018 190105911 324217388 219156051 469489875 357846273 492626442 685402611 400995407 842749325 454045748 771650495 853778434 189445796 662638612 406318356 687668476 312918663 917016847 222616526 745524103 778162144 562966585 557552851 912888670 216511261 750741905 235600956 425717541 400919783 369642113 212970742 595614226 230460967 704410497 166030195 887437458 645164234 969352458 921311801 498005903 577104352 364161923 950719661 905943649 288853178 410750449 978236265 961809921 162616398 280477922 571667689 186791310 818392985 920060216 398108851 443667114 554960443 123959088 586624101 854556153 894155305 441219461 299186136 143897795 816231448 356707941 650652586 964128765 492498292 694488360 976033780 514889511 875663100 512785146 990586798 286674580 332070376 816376325 861148886 774782156 445412757 925538806 384185176 713137661 420809882 330670055 471745644 404944792 932389105 899501432 749177904 142554829 585973647 412266409 681008852 298923781 418023076 702339545 837924998 721896349 296344022 120281580 820044155 416343457 598450153 684410622 450467177 683965629 543154409 684271825 678590589 936658223 691407826 747011507 202221229 153205481 511158512 551812833 327456659 782959428 952770335 366568221 575580035 275659434 505368988 978994831 517870714 969925863 134205227 327726434 163473581 440280599 218161041 457653723 128378924 553631106 501621887 698327944 201954027 235715460 398014997 742299305 207225591 558054141 890033028 668841128 792827579 268722563 197505012 152054040 960913303 608012453 510292321 342911641 332944960 734473571 280037424 775961198 627315998 788497728 196902752 391752065 893568995 948263768 470832594 614014541 981764265 389260302 809227526 246781784 465848946 712866378 528046100 783416050 977745945 521548725 582609010 701915682 473136166 832027631 203177808 649057303 930328771 440227900 132964170 371196571 833918736 690679506 632782385 567318917 815132260 779748278 503852122 868486651 790957850 863951611 949790798 158392707 305827310 643147504 297987153 658421092 311260710 158604260 887999267 284829968 819835879 474256967 539231550 444612790 797985623 941875789 870213936 173275412 548612744 818456345 998877524 844605954 267261421 304437215 775040597 696803460 130392829 609648232 546524940 119955456 894187440 149200775 825612000 424370235 411761377 774756269 999321082 759345132 521528868 986568626 388331527 370567473 167376262 592315787 984280214 347920411 207609999 442051385 281786558 153072272 389896016 953344702 675505897 707883903 254194314 398673628 107593975 370022345 915790534 773184815 657808445 593119957 870240431 964371137 472487006 444568104 559974051 535020327 920182551 483471082 918934987 901024807 917335477 356618455 794069766 964118236 352347698 739622553 795860641 426659148 509465778 464141526 350663216 530596390 625551474 176705808 843304503 479788475 508237155 930429537 391773371 178938175 108031407 638766236 714816141 612915195 956509952 886154615 552703515 121317671 947742120 804863720 745275481 484282357 501405220 919263100 274830843 610607926 692891422 624344190 793850113 274284067 155050741 955339065 638901112 546580991 924911066 391049375 507602667 261921226 788298065 375364492 899844680 247328926 244857414 859262125 236364041 266660393 247149048 431074284 772054207 418225148 875701966 858994156 300191085 381189378 902729150 647627250 631548367 162754297 753604604 693365083 360782088 683927678 610174067 190691260 651055696 120556760 726637207 505947872 602197820 978317755 699333229 723064205 782114996 300199837 958665619 277844743 779949194 674343836 205508027 664260973 727246706 533464781 178335132 276970887 181029118 859009698 345053164 984844837 172720763 922458120 315712999 659544254 408206343 280451583 983861548 277981994 387169759 242723389 402587759 595160824 318715752 917663534 264035910 636489480 723776495 586981432 124444866 127465036 492357471 891954738 555839984 307746679 669490695 509188338 586023852 116514543 370773814 143868300 421089460 714362299 804715917 709481101 385133204 386161575 816461076 836141854 743485646 821175710 576687162 125880464 279845786 762883819 651936125 670329874 697303301 458938167 298905787 703366870 965173611 981293547 296736972 895897590 882771177 269716060 510042173 466087716 791495894 945412961 279909434 185688646 593842443 845669157 476887904 391329412 240489830 914055023 385670839 186666854 197380216 948278200 153256680 237655866 115319922 443589050 343696608 949958389 622395937 709155084 470021669 793040235 504605171 698548760 568494897 639700717 587689311 816598703 893290223 171663327 200127281 666260663 190436623 481441336 941624160 494367168 961393465 337871036 519689995 636205532 233959387 772423077 280738976 436595270 508875794 302563373 507726936 254346197 901857910 595515915 359807789 716219010 476427774 204334892 614346963 197642235 601076103 811747577 904950479 457424665 968317284 788541457 364895001 314285828 260228379 104780410 303571524 678792046 661123548 505198676 858601315 644278852 380644708 171492454 963465837 172790632 933770348 427197507 206317994 855227021 458202970 930862466 332634029 319657894 161688386 253978299 393011866 722963508 443876497 628838303 638486009 789927483 861537027 420333627 620755861 998013622 310860880 226260156 213393778 614831334 853043641 599486790 897407828 582630676 209527679 761944756 920526348 847122586 225970196 909701523 845369749 507762015 881920395 174216533 927899890 129526819 765523909 831799258 442013798 690483991 634272535 278373983 318343139 846494771 258768939 842478150 327386426 934223478 356684105 157243805 759638436 254332327 901606913 723247868 586337212 361897728 960672627 805947712 865787303 256518097 258353256 612257484 460221494 777984361 138329371 493039742 991414120 135108727 864007106 386227579 175641573 451787367 872764425 849524852 767138712 238791326 753815724 802356212 955889820 991743788 195030351 373251690 661701266 979193712 271072567 743495934 638136824 873943781 404487623 647370421 196002083 849208630 671499009 460039952 934963024 405400888 884510463 497955131 222470075 689330210 677759264 120415815 558172199 819193249 727464397 921157834 425201040 998228135 160007899 398980621 224125262 523377321 970585868 806340305 285900929 972724250 208273841 520527011 884200055 363088725 268007779 735428926 562633739 985541702 679137490 764105196 255324773 536958514 903970044 465534187 168349777 369790160 368753413 803728198 902299923 497213638 720507886 325201838 580170625 562847992 109180345 129231995 615988808 668885863 540363772 956007348 127624733 380783655 985958335 533443278 386708638 343432281 301287809 848179389 233316138 895059819 182336184 618066694 760572649 258508045 280238901 227531833 496893313 405914416 396936218 939567471 775981219 775102651 994558319 110891667 919306413 451920405 620954385 891607981 815639819 154818021 678786250 202527350 895727118 950944175 137883948 216720751 712234824 801105038 814476970 778279679 199255417 249655639 152063666 995371909 689087276 226392944 943503448 837864766 797936960 584076230 675566969 155208468 388520224 900575490 973605863 168974697 616447159 624110860 574173103 940147177 744534853 979641220 510083533 474042239 682985971 919243903 529323609 264400052 132238872 216974273 593435646 742487495 982533891 829990092 811179388 814955813 506198352 649689105 468264796 723064670 150123647 432111560 747244071 326509274 712484421 142089868 275215488 889442182 316891626 275759365 266943731 495211918 239845451 862793531 550605906 716880779 406309807 406708999 626941273 617806904 731927621 850343557 549253393 935224847 448095308 542838853 321303794 395878308 990474453 144302133 162986164 799655710 746778394 110543971 643451027 687149399 516287006 352948453 480664894 482183126 605332178 986606625 695760708 763663133 285356247 942258763 967588794 487086443 104358480 465773284 811281830 523999624 749533750 950390589 814837756 743557776 292819304 346799902 943474726 415666850 930158579 284185154 153380056 219225632 158412289 407514742 472649188 399560532 876862886 854437353 952951518 922272490 756609074 342509886 252777869 867118934 790985822 141371453 607092872 411397673 565307253 198932140 534580844 364200186 752223582 610773615 946760246 993350448 535851286 554891276 782755005 467232059 648195100 418206276 974433346 609387407 217510536 436243037 811599382 767518548 416081193 212748499 400794683 527708360 882410175 605229591 320855360 759374968 762843418 672250382 904720255 912901644 913675862 101232460 627019184 249848354 508327116 100473872 637769010 303403476 309578239 359909217 864812692 465259243 941726123 260524998 446284067 746768392 507402537 285764696 793427232 466840018 452956716 345801781 689609048 982568476 378472422 949040793 553732851 594198433 413394939 356106628 620543548 386763249 580632451 390992824 157287286 713049268 342666097 542085647 782956958 947531867 670915180 578113328 758020157 229911568 866784700 712941280 682170355 528993954 270733578 698987810 226486012 297132824 159090190 334947490 369452074 641812302 528265355 441787782 712962136 471464786 219076560 868141320 539729180 622747519 236665398 198413545 611298557 882424686 513888820 540657867 772869830 809429571 455051150 204753541 322493104 857543726 606884383 273025099 528252545 712797070 606022653 367622820 218853485 244590281 119742578 397008386 960107692 887487807 186247280 208659901 529052581 854552616 559930751 753924038 364827101 633276539 761061524 690815248 558612061 767424790 457731932 819344807 788767508 767255950 150304148 133794282 622949955 227667292 953405962 819235711 530851549 715848799 590506034 821129238 265795945 111709551 398991387 980435131 303371586 687313954 948974852 720933899 116371526 981977616 892766897 751127877 219902302 386044718 558654061 554736305 743489546 503534288 427125425 855658074 626754060 586106979 473577349 771555756 732007596 358538833 280422278 557932462 116981521 138944035 833678912 592929388 903735078 118867541 419832712 686572365 675299264 435063111 644217671 367160137 524573719 470792405 186490851 426764922 212600823 295267361 318509218 609105151 792028687 527245036 307259033 676029919 763945867 103327935 823503813 824662465 688684546 990064789 685172702 358793708 822806466 704684959 453220574 782612195 283340109 654896387 778085246 633240212 869890142 463777105 704722895 504298307 144539365 379095970 363068458 313670028 734728466 524027621 234881136 954763778 796286039 820159070 188538504 555212244 844995024 821810336 275684133 178383477 442883589 302636089 922931045 947149444 283135245 923059806 655700436 448513031 242899265 681790697 968711928 181858789 795034934 979537536 761259481 980056445 433913786 848492594 608517279 579933403 818557861 804618255 646593333 853236816 617103814 655244877 319635478 684473808 149083189 546080599 306361133 500504794 177840257 890317027 999431142 417789477 453642930 552258002 423294868 724551062 823674447 722136015 283800094 561871105 362058175 775884382 403939689 426289163 934213951 294142525 638207937 762629871 774260158 234653312 364129439 209106307 261620730 476995113 987100482 770273002 178723179 846880631 628368074 280134182 987079907 700160101 256510744 564803217 770097494 579696466 367051493 760902618 124244911 162613507 549674780 316795849 776184000 865585470 324487349 452243488 985199649 166248683 816818190 760136807 965894034 654071740 571408002 481354721 709460463 324420691 328079075 165225246 776353670 550759552 272917661 197824481 157807083 440373944 285870495 498142364 852828006 604168135 303091707 697400890 648435891 448417360 977683135 688039217 772997072 476925095 778385088 368602234 467492972 629593010 674410263 219743293 651215070 184587220 844808650 812658123 847503650 257328599 815683795 455507790 803901100 742637758 407320778 296198700 823425300 530052990 976734347 514171261 938410104 917693987 284541580 633302492 821678800 448399154 113274493 427198640 701974289 609434475 136382290 710199858 513496167 165733735 602701272 249372661 792167488 837713753 441705503 363614540 943371576 378966592 858989857 598062369 759723775 600765092 474612466 410116438 811625371 354640623 810580759 381584435 575171837 808528639 375456184 884763302 959098108 602190026 201156692 491464557 868704655 630207800 670702801 672409438 480656257 396356220 184758781 615983296 474912084 250385343 578029111 216424702 368231394 474267784 859690740 990147370 944555541 748885747 425543057 964463370 347304342 961778950 739825105 763908059 978939616 271351891 835455265 383698212 384948042 431465160 223861829 250542028 880437510 711403216 548815409 223066888 317715261 398290141 587341587 467805480 906322919 498740530 537756422 364552255 960186969 575134691 384175838 920912375 822363858 864032052 148864965 112803689 434779722 484574850 243015430 165460593 654156481 835465300 880827643 784480992 178667263 375421132 900651639 825068699 604603085 456028893 677755861 222934080 755926954 548094242 892972960 680791108 198436881 262458424 128341038 848978439 188925152 107646180 607842430 805272476 895533171 466717478 167368635 808858369 311861212 527456385 299684699 453926307 735633008 147442491 810254269 327126179 588833969 488898502 558657186 890028230 136869249 568017937 264946571 491879787 882994814 466965000 368220949 947899752 342441859 803242213 710406076 335419199 600877148 737138613 724680482 921110929 374962673 845407939 844485683 848610909 307627642 209120793 133103465 207418987 955785673 564446176 197732902 671153345 860991091 151493052 887969770 926365021 646842132 581844620 186579122 221655068 442774809 756835343 630274354 369739685 205469920 953215679 317873399 818482257 858351855 455746526 165694841 247083104 700715603 957506451 982226200 584048124 397701252 166243546 297098888 309514233 886836644 631496354 957038308 819987209 344667329 723039031 988343304 985239051 542193229 645419219 204619490 961756162 145744359 966140391 408610926 700039480 470182237 967040604 171355801 235637706 195865704 208079174 606112362 544387293 698498787 252721364 507301667 676910704 357341316 753033316 865026997 152221345 232389975 967376938 434619502 908701801 370426378 617419371 647968855 779974321 793502953 703584142 784414563 984150973 195770024 561217190 906191235 663453414 739626841 661842933 489423376 795812394 718986906 888477223 412897277 706912257 770841911 553471299 568236529 915887306 776007871 284853304 311110110 532118683 683626455 120570560 576437635 789261978 148723893 579803780 837050810 738247427 937546345 718992250 885331270 341700228 644767776 995201805 212279680 358770551 405539899 665123191 968246637 404628490 749452175 424049943 492668886 830664436 729139758 118963934 418836081 979704312 683390427 385071440 251360205 563363541 943453730 556744596 484010255 732639475 978355531 835223365 360215301 594861732 227649569 437750334 907833117 525850407 120673243 491395826 780637842 863900220 795842823 783299510 492835454 615030064 141010461 627740592 307019827 111210722 654662659 149661425 333051199 653871024 894517359 105796359 905511733 530489354 355536762 560052402 951402339 701611319 184472519 688317234 985387394 391231165 118424182 742494544 713589333 656775672 107614932 528464153 514903761 526737477 695648310 667470690 999305860 731664590 119955861 736795458 959215536 543651321 525915421 467183552 913681829 290737561 566429758 504574450 716289624 685114889 392016441 774499229 429434618 903275028 585942305 922306269 136111786 800628838 313369109 964530802 161283430 142749684 659612070 972648683 729309473 968147737 555222024 721117830 446162089 940929787 864118367 735560935 193965496 160074283 750554595 819975690 797203725 178944831 764247376 307388352 690008720 169648255 597288759 398586750 281226052 559568834 476003473 904875503 396369515 575442396 465151927 790790126 751159665 507417857 555135385 247042244 923545985 730991178 558660694 841806908 604803408 469611863 358844306 791297539 774883008 549631773 478851826 688824397 904634975 281350734 697262762 853955195 838250798 230296795 942772652 458499234 304239123 750824532 667117875 351192699 851369013 163083457 365850200 214750814 727880823 494535602 380159809 545250847 904044862 564555926 982629773 516169970 166960339 966883459 115245184 257572381 888463422 353732079 574293415 302940206 453396298 864567873 930373637 412254742 556170141 527197486 229978617 802021838 503575460 755265720 494134073 959161258 992013411 848936483 258401249 710021541 571571618 146770231 374660691 923874925 364602148 184750940 611161647 684016743 551025847 614471527 945483240 164706751 523921586 680356936 718557634 868735391 446537877 264807813 846543131 549440065 573410258 167585094 964681160 487551145 369076160 213517213 403330776 863199095 168035208 613455099 125740412 844832021 132873583 337980435 218698357 122783694 766949389 407009560 838207765 764714629 862196328 227306224 439932883 871638941 977896329 286433604 415486513 321207780 141583472 423654057 150444938 607207081 374671965 271731275 162265595 700898806 741683343 228567850 514492887 853190870 306458636 837404844 146065300 484709290 696070410 678805740 659509725 618437794 662088113 830919696 125076204 246535917 820934491 252797644 233603397 704420722 322321109 651818465 987477645 540275425 318800690 490659800 251503277 428513919 516504223 661167744 939376307 583083850 391643535 653165247 784719342 758113720 649564136 277987244 148601827 911651683 247470433 191862680 129889448 630966869 910396295 539001478 180475285 988977313 999049868 299779596 903780614 940654108 916062580 992314243 528679989 896778301 156280368 378525497 782286770 501928478 963796064 674603059 430154692 307977721 418241456 459133471 597286712 827382838 885040160 460187000 525852273 468968134 495515794 380203940 921678992 737257979 636711897 502294017 276863737 443129113 577631707 411043412 429138706 638271814 132080675 749200613 323140530 465681624 268736822 573483847 836880769 506200435 867408821 813129611 390607865 474418732 752817548 608090275 661511732 693143813 123483091 966791633 950202722 586310596 608142944 979252341 861131579 310507627 232963519 682963195 225489036 824901558 916878554 901620906 378419523 411487995 821871431 843239339 463075894 909684202 973624884 186170887 937052790 595319368 376607587 293747051 590032456 719534962 854195282 432409575 469794638 719520599 752886859 382443431 510231594 853606524 460809863 973308874 378571118 560474559 769439466 370910404 179163977 650941025 820166911 511115283 181610645 757999311 311505609 350309301 424002817 135437938 977334864 594208075 361285654 533747579 327207751 145722092 745329658 151946099 152032417 433479914 363777249 808999678 881739620 608096422 755235146 225511566 886299672 514912754 636085090 390884435 696315327 477517484 860386612 705997943 629493261 202071835 708110410 681432600 346766405 599226118 127201080 632588030 181920660 131056865 786882443 624117568 543492142 321095747 164657474 930583613 965510496 184322304 608063831 839334416 584174193 350057909 737294948 837604574 868391624 578579266 584363536 166747536 149064612 794287650 218373545 806761048 410499287 231713453 256933733 224027550 943821636 108595405 254379412 180768457 212758957 930878984 388453986 653356000 855073921 329026608 227112201 328914574 793981327 614329952 427285987 630393789 410867641 814242558 689552438 753479636 567703736 903045168 648506263 541594611 627477813 932333701 972726903 601422398 315339950 813081501 682549201 704908732 409924132 969883671 862089525 144450869 818764714 221320638 810192642 402905371 536797207 713724155 909758024 811384141 220907757 486273662 718228465 755454306 823400046 404553115 194265677 633269035 869243676 147284728 780654847 586811107 838779173 285702255 758024516 621068534 423894243 748787859 198980459 174101654 351444583 100572254 182396958 391208046 722836227 186225447 710479883 948727872 688370153 135710425 983931147 384918942 449455135 938025384 641904439 937518754 119426497 705866517 817269421 455122843 109354457 248302150 914401023 721151211 954037741 461522779 700060827 378142423 370201742 716969940 444901398 960565451 977195605 633086660 325328345 800458356 808175057 110647092 323745259 197516315 337457218 981152134 260122044 537762914 521979094 166973999 391113169 525728558 900408099 825053965 856627269 477972934 195823592 435261919 585221589 451716881 543596402 457326876 486426353 649133938 304629919 991845963 333758153 926513707 824217731 331796320 577962860 993795484 740436193 293262586 782188638 282768369 652263021 810925239 637361183 904077957 339316338 601496235 626329771 613015921 898363337 504612174 302704176 481564027 951828273 349674584 659274365 726778710 254816334 180306177 469813479 848703983 795075098 342489901 836340100 973982910 216535343 847917521 468097710 965443113 529189207 184772835 581469310 166594239 499258163 414936670 627943008 876136335 798501901 474203966 499825219 583422996 256319541 824901686 618217415 830797088 672476041 771216538 546145353 697988851 671090185 265719026 539798488 359670203 911261442 507643493 834831501 991842390 861948970 484185228 527384395 944305434 395434860 971599547 580772874 473298055 212746901 409237786 697948810 951822354 809305409 137606437 835370601 108420636 396573106 856936713 676598857 176224932 572679616 123122449 803207394 764339020 867177498 408591464 405290286 123332305 901127776 382048085 957610940 271602452 368429197 323766745 992501352 103941592 640099816 190324810 338653487 920278749 475101494 354291418 393450605 406491028 256008821 528018384 191515724 464058744 904649126 248322770 602089039 367619656 856041170 741819522 389831553 799493868 761184335 476265489 922021626 368354695 422000342 891705527 796926322 154873211 313090401 863911566 331060399 977320965 385142516 663239620 485559523 932683150 687432931 562976470 119438945 550230408 327937756 417276942 207167476 259382635 281260939 400483830 933711885 430407758 980579797 359434571 745379674 272065334 918745893 675777888 838943146 963485155 227493923 571247677 825087996 457237295 293087389 567750377 293278020 873731677 120337671 882614627 676353344 341633446 645618304 319958026 865300562 999648185 190855751 585988948 330365700 879195823 990215077 485621929 300669784 107953914 978014941 756428800 387607076 462154368 412416513 215632518 452180190 392557587 538918848 962082643 536581058 306092144 635200201 633622767 360290839 878088352 656825234 429947987 141126725 243171079 384605428 215304389 336728284 652609824 543108025 990695378 966992905 505542311 459971657 311124392 582765511 356225592 675679379 208050192 618573172 808690185 736643950 314266538 701726502 651402005 603942078 946371264 658776886 427292916 640971808 449154421 655493167 743780152 938970704 107908174 466813819 100314357 631133409 596054293 763068705 432107116 117660883 863107921 101762919 412697828 120757686 174506913 611409739 698043592 854961259 474475440 374995268 612453255 501662108 117631372 979657768 299961919 589749065 306768419 939411873 796890344 520353389 440104595 393301375 872573924 254521080 184019132 336317143 463220579 134939982 389319627 445532782 890466330 637796592 501333886 279127705 875931680 608028813 861193013 767649598 722053134 756916394 596585847 497306200 368665830 540777579 976260134 886214244 292155099 717921710 991421490 730234055 187162570 537945099 530202253 276119550 609839927 482519859 927985204 510569435 665484703 232273733 166672584 391985238 212506192 814568963 530331013 383932277 789383329 684412440 174221512 953706176 707881223 527191564 458191195 856745953 412654291 308469362 889214688 690242750 575286194 986792888 723733971 844912345 805909916 459084447 140392683 993081553 374055831 862752418 843032666 129676161 639618164 800363623 133920784 882254139 151943152 785399248 675279731 447933956 983687110 513798952 469632633 715440385 577435665 437084342 774772095 619037186 975325023 673303504 625344390 988033809 262170008 506673814 764986257 892383499 509912762 374753666 751804990 540323478 445797176 179715695 474141481 873222525 161396441 663992016 955537527 935871060 720554302 647209582 536033033 116085394 786488162 872016855 528061168 396414653 367734497 271105743 969698907 860962546 647378199 970389047 842795839 197512701 680144978 783803633 614061272 944799333 786488848 679066909 597211483 205730661 538328766 499112819 250178482 266897571 692502267 213111235 481289892 554872153 583495239 538833356 318603047 982523848 749406330 367420939 753269594 512686729 499680816 728734950 107165401 862379706 412751477 505084312 749807050 703458380 440441930 662610333 818535600 684070460 409590509 639920884 663153773 905510824 972322727 307631462 936419918 640046675 108949337 668706024 610204426 913669992 804748007 172147808 178212096 102597476 112382246 722097398 499173098 801112427 933416396 631287059 445899167 382464952 268642463 274807710 867654855 978858919 969821243 405353873 366994731 438791532 834181902 277208284 317080011 526301719 282028264 785869994 785547508 878792594 760026216 926022535 401271400 186307623 293115440 585490701 243468374 179630587 418297620 516512469 182744589 281696333 709178454 891093879 905844331 709465708 357749845 843373496 548011426 617687323 869050460 347207027 951277003 101314951 756166396 889376605 778825846 441962847 814803864 268318732 169591258 580556087 535501806 857660603 637859380 570456308 386450877 286382856 105437612 252889465 466430178 523422325 218350618 906620791 109265372 387449191 358680315 254043090 135967927 503413645 486667662 427263291 990284720 263455404 680543694 836059257 884255282 752121807 977221675 775464536 135807148 839071954 305035737 389701162 338841658 279588598 135243509 148795463 880653023 244857105 729098316 608408087 996428812 304849653 446580245 490122150 655877279 435340650 972794336 316400753 782595567 551916170 963021390 167963087 238183726 743229237 868713946 456947906 162388008 704613407 313409544 864903676 530558934 774432824 873871751 921410554 445173754 333755465 648080897 973851802 439408598 658689341 662993158 887910518 745698159 195217561 277920141 126874617 948644453 716826906 836374092 157595252 578068690 475155515 979690534 230411116 193035449 798167621 965534342 611756671 141151999 237396487 617101011 587409324 661584196 410707352 228122887 529904897 943859665 906056672 884174164 885187965 220909017 337011446 580431576 158449736 519378689 161096353 568779194 697429196 489210844 193960811 972111956 825577494 172283544 163289984 354805575 627617232 280851116 433395794 461112804 110328409 435503908 277037395 785456716 359661164 185348016 574743051 836132801 596263530 253820980 514705198 228148020 140361762 349986392 160537074 279901471 939282165 183409140 432807787 241202624 225756126 957167416 577773191 659194596 648912125 171291569 662440860 263900916 522467960 931368471 983353770 648386985 996477353 682194377 312386067 680431649 155936678 800311034 732417780 206873188 105606014 483586281 816230709 942492376 390650579 338971772 965147147 974742161 870680768 862047833 474264693 903087902 639317406 440394605 592348860 558421981 617175202 981185330 452436847 816283493 101312366 184999745 515724374 995084227 895231644 698691849 423036204 918430702 621072710 290276114 123008562 498624427 406573411 450824552 365932477 274938229 661611467 850591460 353268441 813614855 951224405 103770710 618028562 398444518 753396782 702509639 703898127 678765151 385465234 231224912 996138680 664826515 851852428 659697783 804868539 568583305 242475110 607656561 642817406 149801290 384305649 902290656 127461854 757179123 470280338 471485337 406779584 330784427 941625484 864945350 188727066 430362829 267551815 667524674 179340468 585446871 107488623 970192812 234433660 966906860 588926747 997942426 316080499 672622072 257585964 606429225 236102732 136967579 389550448 490005920 386254499 136522130 251553777 582959703 468259640 497081006 375408673 168917333 733416650 783028069 760878404 764812275 783312908 852415637 524617408 464287814 297790756 754120103 387234569 488191696 645475561 370568505 281387219 341088321 629799400 599091230 935462777 722859536 216740893 761312801 301879012 155608087 305923893 423908632 578269550 674245514 331569593 904150632 100487213 614860166 543834223 193161617 719440481 999596490 726135830 926211965 850631111 923119843 221126284 623321258 130965537 832636690 275035035 252964404 837437544 485473385 837367947 700385692 355463686 234438630 198224513 236275695 264766561 460193185 401437106 967525698 214049880 426473871 996958030 112794634 569449948 619634698 975034992 732848629 387203724 800479861 846129646 633014243 700249248 918350438 831749920 749562266 761731231 401723083 294155072 723177955 991894691 827068202 646209417 416700456 660880356 209665289 141044457 923092334 944416408 568735971 824469171 958773016 771935613 423603663 244791339 593505356 912893733 235904995 852470607 816787127 716037813 436957962 175157377 990647856 481923423 742663229 556140222 746499618 958962584 498381456 111697017 294707733 432542986 646243952 502067959 591603756 883964688 243074145 117843286 560696697 680915220 296427529 308321894 556481164 975022654 236190090 578638036 632026836 136145084 134496752 340357125 526763012 878885969 773501126 461668040 999584063 290184583 664130998 502242081 509204871 276506204 776391604 327849387 753926625 389197629 881297949 720059102 580306276 530153959 308106740 632216972 846391112 677164241 406084347 272126542 508190428 411389554 537691897 318675136 747122752 858386174 675684799 742641482 582397428 805981354 859794960 671408549 832612942 950467709 343014654 594776176 374741727 132139469 747867078 330328934 132146653 318758232 568858825 605125611 718215109 584857360 173049282 124571727 356303992 527542940 505405010 173292442 747244177 282288035 360565929 232953061 517037637 609437967 747305398 906919488 866025897 334734592 342456428 371610482 374790532 277285652 734641190 798357213 944158342 654321316 419653094 511457930 298515424 326369952 567012922 964858511 267984748 488341942 420576104 566865259 153502018 457616208 854794109 738874069 206756782 988791347 498202473 363475447 225559715 913454367 893880721 460980658 348877532 227021888 539727354 487510675 409182141 574962012 485622935 113644777 225211752 354231528 301636795 643885002 964654892 663296968 586370295 514882254 359354691 587885600 221801729 219239568 503864060 641906871 807258281 700543834 612777353 156400634 702528660 145020946 608585519 361268041 623709171 777944449 667106997 901596741 130781463 997805960 782421916 604667831 754111830 814733979 530299725 928707050 517909562 238650321 294934117 259351583 514016829 961828891 590457153 757607992 368267430 903428809 812488240 474624859 446875260 215068028 318837375 675573206 191380790 965249441 879325656 138275878 835612174 903565388 780547647 843590837 343936632 473321117 449745591 141716820 656894147 420968479 440141734 872991833 372061087 394639823 108829845 940871107 111629469 974974178 989409534 997918753 648271489 362523444 649603855 771615365 773258071 230401083 951442393 647185958 571620678 629366600 931431785 114637461 634986848 402341536 552573637 482768527 587802984 928272306 916489588 944226081 908573043 771937786 338940617 310837541 105636909 851168801 434636908 667453430 602952199 618435766 172184480 637495774 906773817 478569410 503279118 185179829 325652176 164974626 149203457 875491073 788393658 304683084 982753822 956482999 998159443 945284198 913159545 239359746 351561410 379891569 560337896 716547095 888067884 430212766 650899170 176608259 613033353 591316018 563735280 921217558 721933579 749973705 486726543 808772429 320246313 459020349 784376517 748286623 509662197 488163634 770821659 527851851 406458739 370530375 237479013 391253033 681027619 875430972 468212494 849232885 926395651 472149040 508776368 775648262 316955398 243622492 327709729 200014758 724392364 897261820 916267260 372255537 116126570 715958817 595681012 472324880 294461470 197829279 464988158 560398333 104349576 218980087 439601686 883883927 373342181 657437860 529817087 769405013 300889694 858385650 488144723 320618854 734065699 594666889 142411326 810239413 320110568 827410038 814163962 746754972 302266972 654348479 172618661 645761300 277727112 835801313 639493708 725310072 653714630 899031146 584494193 152916349 532674283 831675238 314206543 683645780 707978544 878020908 524544258 391670027 402447568 351284593 792867887 190682764 800667833 113851916 453019256 166182114 121523591 463739124 723199343 819172117 972188199 322342161 193729561 612718196 998925039 662892761 128800976 237919308 845646140 159966183 163560848 505276466 393029788 327368361 627412168 894533105 331766653 599907008 731972029 280852229 183827284 991419595 221714690 207384106 365426579 370852942 724356894 855215039 760749464 298221819 600782709 653080692 750729318 610023247 749820975 201972816 515762588 706541853 147064915 377263770 953249476 514267065 481205159 953032816 435166366 926030797 549074922 670737305 711090552 970765413 327518962 614567171 525352139 297678698 790515136 922103112 539384048 978567504 186003932 422511620 121298875 576932331 980000181 622254747 134608541 609218490 543460116 379654546 759555688 680572770 945717884 529134236 998967165 406496744 297655861 358210200 978107848 371110092 154733065 865506287 762386193 774233790 519007420 898942585 304295270 808016252 370857336 637851364 826535514 240555806 468560681 695739157 142781316 236798930 195164732 222910272 703140849 672145854 443669184 198479204 641086187 613992966 308814247 901728329 417163469 759994378 289532435 988294843 934922110 101311152 275377477 589777238 652776701 653745311 350688321 862951786 664839654 900298331 402972444 423553521 519748553 608888819 414851414 244507276 965219826 170535813 696747517 855684948 600029765 620632526 591991139 470234526 622979698 453848267 772889548 101666963 227575164 227829519 347991345 987412444 167867635 686619198 463398102 310541849 155538215 690963821 977948267 237972881 971889804 402231555 447454251 135093535 922724359 958870909 985898004 336361102 555565990 189493785 199611325 531077093 536168590 306360778 510609220 944077496 360083354 163923879 371930302 599316665 527188825 366883314 952964196 930881617 391409155 238109012 925632530 193555245 971314881 495485027 438760364 197488613 621742326 311482289 755881588 697498762 973735444 282565790 988047131 695403993 817412475 278876112 537100517 853326780 417929121 507742374 792112037 904632266 772193055 251183639 166572347 407981983 839254295 200392634 396118117 210664354 739053642 713699591 926542255 947444475 439770202 660763159 877615377 750917971 420334933 160937818 119506063 531368281 864931923 816223937 689735563 274314056 643596779 675337933 476700541 554149668 868613810 697098496 930875270 749561259 467431729 490460288 455222101 222440252 252457200 388577949 155542808 821040929 937649598 374083492 776693110 421849293 651839695 924818455 199496734 165939711 965998940 270323843 329360163 812548502 518407167 214403923 851371882 968299247 833601502 928060538 303597886 792165143 339268675 753834829 951608533 612000904 482025820 386949410 771955579 883762118 591265812 840034660 615956412 959507878 811829692 918749801 610319088 701885177 360279169 533474725 281091241 828198078 138976247 727290030 406294049 576152449 184924351 591771729 578954739 613479983 889972580 204967645 156819842 373810215 861157448 379293563 204682390 547095086 519507907 833096813 542207798 645010684 748868292 178431320 703058825 272119188 226911242 413197119 649841791 629214085 957414649 358427489 807665109 174417975 584898075 712284561 741024879 149070970 932425208 339861436 578669239 228385475 789976280 573581119 160565995 703920464 620896616 483562369 747756823 331922366 243674276 678780196 502703997 455843479 175372203 179513407 420836545 781171839 551453165 693934561 317460657 177856534 263935806 300016972 838154560 906090075 441531760 144814988 595080423 544276014 230384686 845989183 266413372 784418282 642858832 535953592 652560771 942698635 933509305 237933041 964791884 949751242 602661998 918841675 821570670 375129996 181271730 665342774 627003389 990213250 802534131 499624381 805530843 227967133 413679444 432837465 786233178 123689048 935079416 635387696 242705119 617769141 366237763 769303298 937841922 189989984 541023188 688944455 516487994 195077344 504740386 206278625 358467818 480628179 611769013 350925841 611233228 481820270 153188420 735442977 279545022 954366185 297041551 735749238 652098759 250232174 424570285 471701976 956309320 102752041 799137510 642659884 959881538 978808653 476652503 192272187 427116923 102073144 590823064 180109047 989486358 156419704 332405253 968042041 160332865 451506979 573324224 515617569 116751395 974841975 308491213 768825965 212608568 345423931 141517875 389454142 252367355 564474985 131830173 466054150 137036567 722337959 303946297 684668478 918941202 162305632 445305928 899488990 861504039 792484338 908407333 956329835 860081266 718936381 743890787 760127513 770895435 629214495 851343531 316772919 936880927 339777690 509457797 520634675 925686499 960535510 242739010 927164490 266805587 196135459 760919730 241495603 891567874 783268962 427300493 379681427 792235292 227084298 434982805 866289782 358805299 373807998 316011336 835207984 746963943 767408523 190193223 575030431 673225224 453104188 809629393 956973634 674802352 901466771 801271982 903213155 960609304 351246168 904594184 231559693 941476560 629116464 391293197 614023915 935142159 304492152 234951523 532290499 830544276 525523526 477187458 463170669 376573369 509870768 750521725 218438158 827568420 237932768 179489488 587603223 792826833 981103451 438754801 619076278 539778102 344562503 406780452 580847810 274905022 365931658 828150048 993332781 816972726 829689435 415444526 170297098 642814267 808747125 390676799 286229357 210939920 842527761 230985488 235919964 156462684 840839614 234254826 909320193 102478755 894993235 153322414 330776182 835301360 835608551 178238992 189699951 404116518 428904171 521473957 241121504 325725983 244712827 384470072 964464712 393688998 795411144 565432415 185324909 799500336 981321013 814173453 946521041 632571240 171026976 536184071 608832720 366410154 887560403 303248048 287352112 633722038 610786248 687697632 423803242 921782704 645602316 545909106 450813418 971878200 630653934 347779500 515644074 971126397 390184794 300029411 613552459 517118938 266308851 554073749 490389714 357308606 539792187 421772753 681520065 172313734 145465989 926430402 138853640 731090738 572726376 261792435 366075545 840995873 173314314 258754480 966633740 100986722 110778556 446080832 755550756 608675632 558771959 147779007 120761288 490043774 145654023 294233269 640301556 294280674 936567258 802294364 176742730 182552936 468824311 413803859 875705043 898031151 879320938 511862013 614961463 803890127 839588621 185909924 593658004 962747247 876125667 219425586 569261259 993986722 718845603 648144097 508208541 824374588 276848194 218212077 515515170 872308554 681791344 645427179 353362686 294138655 464511104 569808177 120885546 628907967 955784156 595903636 494114143 819918239 823025902 742604366 787874557 789251130 343654521 855377383 426562659 848569869 200895292 299233671 449648198 466727177 546880539 410290726 660541737 973800567 297068979 185080337 888096232 127833864 956218101 374158630 472004311 746975216 971948509 939451768 505742173 845640867 874283343 528773765 821519482 989390628 922445947 160776022 907041951 248395423 214037583 570023798 403065721 164097506 316404171 672088266 178200177 735640620 788348759 734416480 798794429 183631514 604327007 238693301 271918107 482760925 128875518 838657366 218321143 912615224 141710468 537448687 923432042 419844014 541229044 764239285 307180639 295095214 382185855 415139053 327840416 155696328 515685869 163901676 516898778 177542896 606863576 313343677 144192302 884729502 583828729 253417208 877979202 803880237 626603788 520485498 795638264 117741997 335982745 256878786 875092299 277896289 954600843 113814394 523983282 497010350 882513089 441924093 518291456 480728315 162046640 131755139 497789514 165341456 310382421 922786789 637263116 372001474 661654613 553323300 646086328 923511019 251584352 808976232 149518940 684011141 436194259 628314966 923293120 491250176 869252044 609671974 743110206 583429187 239263790 530844927 107214580 263976622 802406263 719451062 980903393 506543329 450848595 217744840 546372356 668808550 109634513 593666257 199947863 116443264 827613512 143716769 819175162 442880750 565584958 896597974 715030298 368237130 579001846 693519741 964361855 602200169 479416341 350479490 238574196 625275046 361461689 341997311 966066350 187351378 757034650 895483634 531792940 876884908 555477409 775336718 909932933 988692526 199619385 568489243 511043630 204005881 731721938 560605634 723145506 327691042 644568812 498450368 186063108 439816074 118779269 952888751 578645133 974575796 949585987 697237426 423255024 371290951 301860636 779175669 568389734 103769113 433113112 557024916 477614454 854024555 232444696 303769866 629284103 491990001 293347265 169694050 381076840 246670059 427633333 172484522 598815544 986625377 592079632 576447386 878594421 965194892 415270789 346674860 201077645 393307840 980923660 761856631 618610591 728304410 647586560 453743320 450255465 674242117 545005777 998152806 992510834 443055440 965765632 927992276 420725023 356761941 146644748 738964087 665953177 351059809 645051301 954931632 299888900 472187147 224311866 846178835 517712887 451924244 931223197 554887912 142677182 288829493 252105561 502587329 987480119 852600520 273940361 678688448 711737932 111644425 518142838 610335266 271031090 121552363 805830375 641273919 615911655 995932501 556061093 872732652 551867898 281020340 839387303 167492746 265993008 205092431 922967141 735113326 160452313 662911145 426075083 549564502 518909992 865266464 614236010 445713121 417177894 194687406 967352835 164952890 127223518 196281903 956611016 936466471 930047502 742041865 695707444 839763551 636704347 598339227 177229283 224933959 875669556 189226897 285707176 498996875 266023011 296259615 390918108 211161640 976792408 579715759 642011267 265186916 938573584 863659034 189090408 222468074 663203963 800821039 627580046 857969700 409473890 483971596 157592333 704198269 222891412 386000015 906606437 767756824 539721653 306411804 750214061 949441998 328798078 800242926 831465325 182423748 107988485 157207102 707065745 355251582 937989603 688985446 572416461 409865511 869391890 940129856 752063060 875183706 742430725 510098610 188003230 906450710 103633658 113924073 339795983 565227605 791669531 775185376 264907643 764696182 410215680 571594150 538829544 724531775 416807090 404621752 980413251 994099350 807592945 379780421 622713769 684831209 673616818 997281204 628247759 290014376 857920060 551237690 962507746 544605221 858584154 398245867 587179025 417951861 957052603 106685305 123394366 636415208 552306547 251725554 862766002 864318876 637171558 229645472 158741778 798870981 747378149 451581269 224377178 839093392 833758415 448927619 103184530 941569242 394297516 431030443 587460533 551003736 766046429 114292561 680811438 608235599 733037037 923934516 536811425 202048328 676163012 337139450 959657520 221974030 967817986 925028529 645327924 550896551 491735261 296772928 110551092 720188230 345651750 947035270 362844450 971748247 172100168 224704560 344019499 483836312 367396406 247523289 564035942 809146516 849809915 252375771 680183432 135831557 159760210 824099196 905745121 896806670 895099357 546822620 130194268 587960174 312396266 776306506 922061493 701498939 382908480 665512409 263703331 455652278 440340200 746994358 827330748 248502484 217369698 370974169 157163299 531389198 769223512 610804871 454374977 554466754 538541346 157032729 208619174 576594832 646530620 988594406 309969649 802343421 358564892 442914931 883620210 430958258 454022743 957815191 256628310 158856097 782096546 245429344 640725028 596579284 855796447 778105801 301792219 193786232 447820597 993597251 568136428 774152747 256418402 546486103 517970776 195783443 714506581 613888373 402268784 170476822 566052406 969783877 312913414 906848353 849740771 429482559 255755426 223102328 102629907 553186330 824056455 266588541 720688984 577927764 213577734 170647963 492268511 775245757 271053177 604374373 492039087 939661717 152618433 290914840 394193278 958723375 972550359 609222215 917937611 714940849 866428651 157878396 851421693 623547928 131371686 955820924 268846172 340972509 830630286 789723583 238456704 614273624 706748106 786360288 267689046 271192160 371969345 917890501 412963042 959796604 692271540 170713749 849053179 472903217 430167318 823982431 355158935 647422683 150032300 903878908 440670740 822958701 910942146 927009221 925914279 820774204 119499940 822661679 830124929 867318894 368093549 874053212 281167293 472261251 335351819 543523807 381550998 724335730 351905529 502181472 762704691 407884309 235678805 100304130 832277846 694267757 697671371 132002396 189830368 446175883 253640358 967576735 690467133 176364162 644387991 164198627 911270361 854615964 340992797 537996431 332995260 106742819 185774732 302149689 625517259 927214553 653847665 107043250 552930085 944390107 372180786 265895357 862687392 452616748 240221127 641680449 584618905 516506603 590494626 973956760 278257000 151808429 795631666 607393739 820705671 741286733 838197325 466851722 836902501 922612291 782170544 294770390 206708463 281618965 717237863 194896839 803161483 936303205 871964816 972746053 646481833 179892275 504815564 604542492 741953675 986923294 227035402 819061734 524319554 896805173 329125470 199113864 382952986 644939308 966853466 914348240 230004522 468774410 903366258 451874555 311748828 374934287 762939844 430653950 650476673 783488251 861846231 440618864 797740620 497592957 277185084 258793174 660611504 955627461 352634708 435044801 868998928 904475407 543921866 511388374 365545849 493902128 912142369 800477945 489358956 686954845 480607075 437675350 903082490 856086957 285594914 563946919 634683563 195402218 296377196 218011256 585541938 330765472 943265550 207904132 965224741 136267958 181401572 163318263 403399292 178297976 672409352 839726607 591315271 940509710 104809446 835019949 547887936 520499697 362413577 684160569 996755796 852912244 984566633 270845815 721271715 239584988 222595390 793286712 429140407 607469186 189973631 756022009 859626134 461845487 782214056 284094312 351754330 636892851 148746560 658695352 888781297 543824377 114451889 292327842 144586795 511645510 445020010 308400595 218585213 563951251 344123348 807704655 324600495 384798408 349111718 844770805 809237463 540575709 341985313 316496662 850391723 204462289 142824811 401360593 885004975 830417506 312326317 345468808 215086994 930837651 368239432 307391812 860945070 664248216 791877969 655874759 184069376 657434105 523603396 642167230 139241705 292928356 467884250 223144676 835260204 199996171 650951206 753078850 677588437 365512903 901119983 635185766 111309056 927648243 466280326 842842077 736822154 225314203 542012188 118242413 176564350 324610199 830838583 884852916 131597986 310334208 564392773 849403700 460036852 824744452 332005237 726700270 731475587 907578370 360844974 550532201 326729848 363471394 413085017 874314326 664214454 212307236 545450502 314160986 864029889 322840638 421844357 491390771 788408838 313820041 441326925 426618060 371275088 729166734 735838402 182634351 605465863 579560389 833542289 560580529 646882644 956230866 611150715 594214304 819035067 228338844 486972838 413308373 298005538 364141579 889154213 675082706 367557579 886826930 444148933 160759249 719482889 467312750 159201294 465200544 142925410 406564854 616173751 105735573 799572973 145981820 437652873 514564634 607944797 849611419 738466358 315877727 207297962 685986668 629189896 219228237 783862735 783701773 108576076 961430299 365485836 162625665 363867308 984299642 400392896 263087954 451875112 262590256 283410882 974076858 254942123 242473568 903981987 874466062 122715200 175713697 374584872 329309686 819261791 116746280 873369973 473810476 250800547 834281217 262460820 412464868 442673310 587966865 779871924 941667348 656985493 290819675 252782468 431934787 871853087 237324118 269219748 652836313 895976088 959180740 876999176 605977116 111808267 814006695 656127340 409692621 800865120 932467157 248116332 504451263 726650746 881358933 371841779 535438287 822757142 117248888 595372839 873973539 635138682 281355203 182498444 518464762 403415932 899063120 761278828 342828706 861655407 533208048 143113204 349060719 349144072 587028179 173247925 381171441 939303671 175088807 627260739 162011838 544131865 338847661 310487540 898616706 774731787 634429352 271604839 295492956 981201286 988843827 801643667 321623935 752396732 123562998 676864515 925076664 522237538 551779190 720881585 354905729 554875110 490419371 880088559 786712013 676282150 545862952 990158726 269748568 497506777 817245798 978881512 226540874 631208949 284815827 752116745 869185793 769439799 244919901 758086901 514811896 643257529 910506980 800615003 840569141 118986219 774238749 565067978 487604764 492482372 679782939 217562996 151559986 743537057 203742249 145875619 189247704 390861549 339018735 375155869 341095620 872201017 499181367 323134446 366475341 827915844 747560202 424574462 283517125 681079225 962164805 164457593 319307465 821177624 268862449 660155754 234918955 458334189 292601233 102816578 644570275 408787735 251211881 644040457 888431994 739516023 951152980 331420347 241040823 108022614 462580009 329993717 672159981 403660719 457926590 982791048 233414738 132783693 755975656 864183412 322771220 741983144 307482816 720935634 525919046 693755759 249025932 670556245 338940567 937882742 827672683 140421622 129296037 545296140 422669937 689434823 580693876 682750244 362686960 135981292 498623436 894696811 591495732 480107268 236979891 856299996 234037454 438186413 447451693 775542798 153437437 861236778 302707610 499379743 612062380 991206018 210603205 203885452 215376447 581389636 358580416 611380958 644863151 835793234 995125017 894139858 898910292 255347747 180969941 363170715 704905580 856713176 627040819 542112297 555906909 942957171 268925703 681961384 244760947 738353300 662863841 797909846 561176500 587051470 200115944 352110516 401163898 927862998 890094458 947351108 152390334 773028462 467494677 534164827 831274387 516390571 474917081 713417041 133103874 617279974 830567222 767275049 129183459 853211876 138636197 646937913 830391613 378729352 844372054 863575453 848768026 704144524 501661495 474583930 218545034 491104438 772787367 727557215 373092292 789422674 470867651 464249126 427560341 902845226 154429563 188727023 903633264 368910277 639218269 496698250 199064810 581042398 286620068 850832750 991853192 960682166 798759773 785690104 512193917 907904065 392988006 173865642 813461276 521514386 465821097 985170915 524260109 642080998 171573721 906016429 805907789 433472108 539861093 915713200 633332687 425952957 327737834 302374511 258263290 141193588 408085503 745063052 860873747 159621889 331058171 969158387 311732273 200602806 698302528 923794974 498125306 800360441 641873789 823591680 761954728 625335959 613849071 690888643 545369890 321081501 689452125 508418196 938299832 680877655 385897702 836176818 522584411 737099339 631038317 353393733 523908156 654800143 363135751 437332776 387266345 422658288 633052172 936298139 145799193 506337381 292356020 319465228 857312001 411551852 636365247 751276394 488430410 179064287 947402831 584082286 779731176 331647683 986404093 996263272 861227187 656606136 771380365 875695326 457871340 495336898 269764610 593014682 138069340 507641312 514004306 229648344 987230200 339184330 525784585 349067697 462921561 179542660 780057088 409500036 756943567 893265825 472104314 796684736 745352403 924050946 909609499 102159354 126992141 273664224 826037018 425692163 697589289 531524141 721238644 217983045 349283121 350370119 574496673 757335030 404136131 892412450 236006382 950140339 990267431 986015246 298365428 202047494 563723502 211849792 768860078 761210879 450567253 744171290 181717569 101719081 919764282 314639095 448003263 191377454 812387602 826220702 965960573 351252553 943090366 450776105 808519706 892189678 406723046 581597530 788450408 940060187 777761225 785231166 315638836 277550267 969548509 537783920 612936866 909342424 258243427 448683062 255584114 575697214 997179872 728365729 942548888 563041180 890234859 957440056 517150569 808812521 585163479 643545349 300266613 242361693 753321182 980965720 503001299 743265363 791381309 881442625 896207035 995564562 257695177 187753212 642498489 701397906 312935153 914865923 715893961 947018798 309762418 574886398 287930804 131985099 566244285 634785277 464064231 522453145 803128192 150258515 152379133 677605675 799355888 972846056 596025692 176659004 193862853 813021063 262264278 287828906 620719602 578848930 605820568 700740486 685403392 777028995 470707699 523111082 746860388 350906152 602760864 273761000 105527928 164547066 208301699 337974924 537753512 238391227 371523826 567989760 499380507 570216289 787573314 443941866 192112197 676932199 449662527 571915997 813473022 978730865 539218195 605588888 480785775 736982827 216705789 916595245 116872812 288706848 976706796 937903245 223275291 244673508 856476468 512843888 551358146 232595777 942480394 268821086 558400034 390225277 219376221 885517702 496529154 532082126 883913526 112991611 874884938 896246953 440928323 825132144 592610278 905937582 958003630 885872701 575389736 940297095 183893084 778394886 711714596 707223277 184624956 152525899 731085956 400423142 256838747 578548377 330720885 713624076 781056628 133704082 690586576 636333509 265690768 550964983 875577252 764329207 596518797 634506497 327676710 494751305 685446092 820860650 778215404 722253721 935136012 956554821 992674845 248796080 495255596 231271995 187217651 459797883 860127335 707856738 282373997 270035108 499485297 545413404 219496218 944129589 235911287 268090084 271150941 930330157 544364797 305504328 846776831 977602422 645448699 782153944 182446867 877011393 111092001 297369221 107897970 709905517 805008808 954745807 174873538 215367566 843451798 260703228 141954047 284591415 678048455 969964005 514117503 879857883 852533413 750591040 103967974 452601393 460422274 753307293 361202530 566217158 505906528 775700678 636466045 920196142 957110310 315950009 922039734 390268032 659387884 595676405 865197819 366809904 841386741 550238973 525866629 404370079 295464915 121183013 751618741 791749922 695659610 969694114 641039313 346480914 758561144 440966762 847537474 149076162 195058369 867995455 658826554 690221685 443522142 346039539 216797625 981024229 160495740 599101310 104301847 612430876 357675597 216849493 846787846 331948174 169013405 146368211 816716273 356636817 931971558 717377579 105831752 907879161 340881986 374331413 510930513 971381039 151711938 682171292 646698502 824185887 170585608 133294659 215071998 683216547 869853885 129750979 314286320 415250951 396015162 360088423 709757879 487897002 985208516 806996058 621288291 667776338 445945892 621406795 564132083 748773529 514503462 353378380 691257457 257668478 136706875 381918853 710104010 967586170 232511298 355678559 462073194 594899542 254010551 862016661 565683615 659360957 892013821 490661485 873286408 768594385 240029231 688174415 385231959 936878461 346052127 201464579 592916717 411111729 874336671 432080223 380095921 147271290 584205052 978277763 854296533 383551074 880069614 306813320 564838120 951567199 505551156 470095730 401551405 980685455 216108806 501079154 387800438 857860121 984392291 506984397 846686501 672312191 987316007 204827426 105796007 268335515 933695623 271054214 187466685 502938090 187074690 886685808 616301603 157012736 257612037 882994962 704784976 376130443 350068597 232918912 322115490 800923666 458136679 478840892 555533575 460520948 730172556 123316455 749540422 816370398 684648228 771461548 124086028 214423405 326002528 843682182 280784409 562139794 775612971 839051030 995001181 817160487 910518377 172344027 761074920 857909030 846742377 394698956 714740744 598945405 380182499 508958289 354098552 480024718 279796029 787602942 870830405 721136650 708040785 217585839 456982942 111229243 461834309 473006336 907840814 259131530 735157292 778946390 736322072 585937175 638208238 257706072 355481887 599273252 327453074 132746554 463233621 107662817 992104683 958186937 522788995 640928749 326577017 563722466 586163668 636055089 309151535 699084167 745571995 676796323 513595530 207742613 561867744 158401599 168572790 836380798 659369540 137351439 651557762 318182188 305792087 156354374 315567979 784561056 386713883 802902129 850715195 963210509 382887330 625700434 463761413 435689269 220565125 824549599 154693980 174177773 930469769 543207507 621232342 756891651 894943466 121847649 981038955 660499606 450463133 531954985 261984917 165855209 693850258 644898556 299856793 624854107 508156802 992293355 407242156 183363731 418023815 457188567 989979808 203552038 237806042 750191582 898266926 489450525 949729623 828802046 376912951 429562840 208134068 497625602 270415939 102346129 350400568 652403420 465896752 769999006 467565603 216580157 219335753 849207300 668789380 794610829 288820157 208455488 417468918 841258347 337264846 792606349 762019072 374615513 928139307 834288273 322022940 842938097 805866441 974124050 718639402 799625708 791468272 193736607 668905138 184858500 118174038 602449538 987000366 850291128 766049742 743540162 171242135 427268759 458614191 649053918 820559244 704445058 558492446 241574853 635710964 978770366 993530221 467151594 994009228 804019812 840418938 844374788 231246334 116923613 216773277 291434932 637346146 547381411 962750022 678891837 998966719 776705097 570532493 434611930 570710367 928794639 949851914 865194865 658731189 286171799 496440299 320845306 264557049 652730223 724582992 401973423 325974369 760683504 583666230 358415856 996600824 324145595 163345069 126581836 850539990 519070639 138390132 738482753 726857246 339419113 815652917 653269564 619654243 133171365 818160788 488629759 280257611 905335805 709735966 416836169 391016173 942726196 343032895 983240208 939529650 956924623 154248625 710984880 599571336 196610170 545317399 245902313 753113868 669492295 518167203 117313754 303696050 865200614 196481551 390223122 781298538 648706395 257341493 933900377 674778412 745057911 269624978 883609898 430853646 973959071 523282117 588250606 809387258 773775433 789210082 125585825 105077464 851000886 163184373 814751489 593782055 464630748 936521242 443373469 251466056 111048093 740290800 286979910 972314180 376670882 976570842 898546411 203164510 310341694 638648240 564050551 438204567 579731754 419018404 114516060 196016176 439652779 698659583 822227488 825512120 751690143 462198217 150474365 535480628 302563428 968997187 712907844 652830808 992506055 873532280 418317974 377938677 587996368 273982941 743005761 482404293 184689609 555396529 506956385 453037938 384554693 908412719 452881733 546919551 808543702 658258070 553168980 162692856 345090504 250067283 925397352 457402352 304631355 961479637 460643270 786280423 392134817 818842284 394450556 539659581 358015100 931236443 491987384 282755378 856252042 440586929 794968202 980449521 209592101 708560213 270605503 910452531 674060952 312486340 719148010 811742422 741431647 519102920 598722468 493793502 413116416 806322340 522283614 683806356 253649098 464202476 380575198 812066410 335754830 549032159 554078383 901456642 722495500 874417854 744867920 293951481 545780464 472386546 319999976 169986613 532581791 347841452 723678321 769732663 383930938 948797718 248331398 150363878 824867916 793237449 348018440 992176741 475387971 642907765 142080539 414301648 753164217 215285124 259322109 428850877 810763759 976618233 451646072 548479390 547481907 643801334 374077874 717078642 396313827 533902258 508619912 438068060 689001617 892790937 538485890 999653470 414185391 377248584 793322733 622871126 286079097 930896953 323554472 629532650 560604549 559915813 902174911 935900528 649777201 176263694 454498600 143123947 276023782 989645000 433187801 797451239 402257155 825724134 715938351 475817091 377817065 502673873 642857780 727897182 594331731 483984893 765030610 325761842 728150374 108905044 808250345 317115234 921753700 435715541 458210709 490964810 635970080 992063478 757317361 572350724 379733816 538658658 690537846 896275895 794293577 918151962 324496914 957794865 119272468 940134649 893610026 176423914 699937662 969600186 990931712 679185809 613400413 583711444 999816635 170255086 470665070 310411890 194150552 461350650 386076455 895925324 963551148 989501052 989940076 485433280 626958511 530292184 187023368 603367968 881422079 726325676 115973549 648865079 782318179 859105234 797768958 773733148 137807150 328142392 540159286 839503067 783471702 836566728 642190459 222175786 869129710 786629858 464731733 633140744 847545065 612733908 842582997 126499645 504036244 130080105 665242858 606663046 500605830 289202858 561554897 771624672 245168674 688282770 971633594 772936520 459687499 881574169 332132926 222326712 233985425 493377875 917196912 685347007 909721555 918146757 996077862 688093693 107186771 624751793 243242219 829249186 553406701 835460417 732412735 572811055 219580919 748122827 648139202 574042915 140722464 694850714 883244711 169756464 272680736 708088487 704982337 938619593 611004068 400939181 802320601 864680519 490728067 203423823 715320300 207715808 525538027 697176256 635829518 990022257 277399252 367028975 533284326 146703004 480932536 795022107 955633546 652048299 480462059 987791253 252219540 370535266 957538438 410080925 986082358 840071246 605380206 187530277 598345677 915309177 862752183 688262893 178529796 257478063 293967233 377194238 638344520 830119526 508505378 155154678 150360302 420587288 721850961 802820747 360327091 740275182 218073336 497285111 150008960 859529318 627252839 254931710 306560541 220991830 432806555 547803316 174399584 884267615 330846005 278663281 140937043 450845099 134874092 168777438 228723617 953463247 738517120 618819723 109516123 325897220 201235534 942920356 901381713 646907240 509304320 882463820 485231914 190207158 725842475 167200392 597037508 742315346 856752201 212056023 930559960 442780261 350045457 277211408 451635299 615161812 916632667 884894483 847302373 944093455 430519576 354337315 867870274 476995994 379164032 249898647 230563804 829447755 594777535 876018566 155382964 449585012 560617764 337324866 962694578 206695211 997183189 886302027 486447500 558228675 206110486 624627895 952738361 283465814 226082746 188168676 710238420 643114409 799673211 487355365 436104681 111112843 569762397 801438060 536373594 138264700 575019415 616010927 944776219 960754863 802086514 164769340 394530574 551536807 938637675 119554225 321694012 784130085 383835759 357899106 788908770 184767776 106184985 733158760 753753705 114077265 800587480 692367452 306552944 376227601 996513626 452498673 936125942 828365167 884033196 467630080 222569901 407738786 678216570 725526434 858822835 352164957 112816284 952274890 161092556 278317326 904637749 333029642 872360054 827293591 149346335 298830746 814247567 640096957 171523995 567019722 923231170 319493367 544727949 804015864 398016025 169542089 274863099 437237167 582527464 773269423 713404418 122341601 303229924 373020492 733695542 836813659 835678608 691939977 127252884 370853510 281856738 599292241 162844495 329195997 625203973 102566379 556775508 194941969 380749605 848568465 652519813 135842518 154307382 855654079 573589517 475876301 655649686 652775598 354866147 185649244 577108498 271619489 356831902 264133888 206289903 707439002 152352818 641993098 801319269 710601967 611833396 849823325 125751727 365554358 418777969 806709730 481685548 716352990 805882774 128893403 629560479 880739912 476922447 368943894 839995681 585690286 788958299 269482672 750859753 862043944 669484362 483718546 665538853 908767395 106248158 123360134 590135271 567989632 230230810 616062954 642329305 453678604 914528044 726946584 235675616 175057075 106400944 163464090 293355866 709405298 231626764 968211100 561791604 830441700 600889532 736196583 842539366 931752935 226940525 631091140 128015294 380419491 331642647 591340596 701547135 211067499 474716889 716229040 496293779 357792181 667034000 641462567 294744608 273429891 335429713 815126012 614733815 691602272 311158627 501992505 133119286 147214342 985541021 740768290 904494908 123495121 129166653 495939706 529689234 626590270 542686770 874340475 364083167 763040124 172856115 756351848 993131393 720306283 941794255 989349386 424035863 954575773 366290646 313383643 193190103 779461994 740234688 626292212 297980022 399082623 865352189 155604046 718222063 380584711 241644610 893365189 393090584 220669561 849415121 291090478 478182723 935906949 446366515 650344360 947065885 972285587 838339004 989552514 854681089 768534422 652967036 909471462 435772548 881301258 261279324 365059919 763275203 801460237 196329436 607454866 100770069 597584135 226188874 204578455 678859280 821753966 597123016 911402066 575746719 430707078 144327719 507092593 963901341 688285924 393651314 882679686 603062225 683858688 375609265 338823334 643948051 640053478 703795668 278140166 880502997 568771956 408157077 710308194 994692419 259906347 480412919 649841412 234594719 120874976 714970012 939908256 104425662 507245222 260862435 913513726 653167688 364055577 898792093 790536443 244770086 163044826 988416620 645266076 335923333 724239837 562171415 108716560 876561796 699429075 821876599 979595375 825578515 911507337 423952219 494807273 538672961 576860349 975901099 900188967 194592104 677774959 800999556 267150157 675690995 201527801 524660648 951837988 336432225 133073467 904219271 160189112 269942644 723611166 471268726 772916870 594647059 702857006 684405107 977212074 558694010 316946569 581630460 644649056 849128126 462927686 545566592 984759100 501288246 636262983 394067978 472959491 586648509 942202626 763181125 913882173 400159781 235809331 845902882 629158681 731771421 198828758 346778772 369052237 526646121 892236811 970295492 908573511 161881243 313009256 406335376 693974971 290782222 154084368 494051659 203645781 325325637 742757443 143707893 213484386 671451145 587728667 535772258 239500025 370342660 673965016 478233019 552959613 165580064 289664204 504877111 633676845 970865563 176685828 899284032 195189114 190830467 977137927 702413212 332884293 266639867 272577589 764445066 406827706 199745385 873799419 229184276 835214290 853623571 172543590 990854286 169734352 504179504 673475695 720385605 500023614 148439858 622700317 253192073 219311386 997434771 981300462 469974117 354951179 401857407 604437922 343176567 915848822 610866193 974373844 737636079 455630058 546063405 846703331 122450007 125504949 948189160 901563210 339620721 113746386 586282745 170239056 239885701 724881752 698996544 351523794 290158654 295976863 604354680 797991137 147377732 600622066 118209462 239150264 903849973 362860548 692107784 102948927 926662341 650998099 954264148 531418520 483423573 129755932 269026116 286121291 379729675 620584499 662315014 634167365 341890241 802816149 352922900 497365916 645551515 380145212 273855196 994329426 724400559 816900429 655689905 445765936 328158091 441308246 125840256 846016673 959648072 196479526 196700354 874132734 655673950 749789079 812706626 942804141 237681939 801332790 989310882 192477508 227205440 603542818 553945441 307272252 843465749 649100903 487702878 783867104 690773912 480261531 144741059 810081993 409719097 348097590 982360035 722619278 436252128 672736051 782451588 759888139 281303193 484827105 970159565 963873202 446248053 591928141 780210587 834649138 949427943 293420168 812654137 364072800 773623856 589254440 502689795 600382425 534190322 983964476 806199185 797678643 377847251 789326879 986776800 771884789 418998691 145297635 147933123 669558240 809398126 614542466 586568858 123959393 792452623 270244962 997348763 257348489 691427073 172941082 519753825 522695147 542042979 374956015 441057851 445633487 335183980 646954313 378318900 394302385 148961887 258465574 731760450 174264662 453261529 735491066 253360543 133292262 418770834 688559703 159951392 554125559 883710598 707507871 787468643 828156500 277335616 817179391 346652376 413234675 895783985 261350658 234027792 714687674 482001398 725214996 579270411 542656134 740864100 675933969 785800571 393964662 637504353 928640352 481725166 612977192 404660690 189176432 864434677 618709196 581941171 391760864 140497084 716227982 557582945 453659139 385686229 268381757 248747959 857214931 391158013 712533147 445078535 721925232 220518453 535462278 551348637 945437089 974514773 987478958 391780744 513110855 515115958 565305852 212204076 591336513 731005967 204967157 712032190 993777059 411629175 607152330 501772028 929811891 646179351 523079345 565979473 888677609 552747931 362295488 710013157 422293611 274281740 725724992 406656139 924807422 708886882 135084176 368003812 149175670 780706833 602473758 753418130 913308318 893705461 603837968 765275722 573702863 974246886 959812495 567173822 311680547 577175545 332742389 903406934 210538697 156974206 859220237 502075539 891357040 755362272 247719546 932176686 702568510 165452913 654187992 361497451 596680810 804782138 587246370 451680622 954521504 253992267 625783596 492855489 711181151 990541799 392104204 956510994 790356805 161866404 674139696 951571354 783306757 490202968 865711189 756750078 895662841 197691317 473673854 684937463 469252975 878660485 363916373 933452993 595070528 828394481 191215243 453841280 643794157 721462923 850912302 968150922 327255094 457675461 241563953 457001456 621975819 249548157 557735979 765646024 191409659 663417275 921022119 922592617 306080349 399532141 340058059 592574656 463820100 934224346 704468390 567643937 968445476 387141181 993008693 306818891 997616635 498562661 129306255 958912021 265620956 912719313 694226927 327362729 902064368 333695871 649534891 628095500 652680028 100704823 844903755 770870411 743694645 967198045 557760137 871960540 277922507 767578064 167507716 257664847 632644045 352378386 463022703 822342263 767773994 925501822 996690423 990875045 641652274 382826065 900605837 472077997 498740721 748685726 312821222 927354399 639692084 513415393 713828520 543783369 113674087 969783683 158002190 442658836 648900715 419552404 284634299 285581136 108420588 419083398 947314047 330197917 747020221 843229168 307892723 767397521 550993468 755899742 970466307 206401714 711672567 199675555 326457725 265310923 865001265 578232678 959105363 575956780 805891000 899886373 492628888 583263667 422470089 931717372 747849691 519148757 798057601 242710187 466303713 436896100 391413021 367218362 829441998 277541233 230639732 474639591 993479271 576509291 765331342 535521442 887673725 767553967 995917354 458745102 176871237 897300808 704231500 773380934 309797248 520811826 377795298 965918528 294330351 229149495 916188995 366077054 130936242 717824660 919139676 329141741 476940973 462257808 715333238 978614776 625573922 388733337 966843037 352558451 692621650 390313803 706463594 546909539 295984842 192006700 166633789 232797289 292910501 616035513 978112920 526572828 311139535 569073897 290301817 106078650 985145267 905244168 827758590 876692510 135710696 141540899 764124925 850059740 578614358 653456199 775330009 833115521 376121614 306668524 580818671 359586204 786769693 974724671 794071242 597941089 349461647 873789538 468001206 834589144 983767757 161128439 170794785 678408899 428575523 143839100 481223252 630074224 115792346 417446290 707253426 190944379 712167455 587828272 812030669 148249029 869554110 573804326 777098764 586530395 406975932 318315397 968119112 534126338 925430337 276349531 940992009 714647383 320505627 334142413 154131183 832572626 627819189 852125680 479945673 221154468 848151699 947239614 755898856 492344094 888770623 580257499 247793125 496860078 508679403 992523496 745835059 796590760 742753198 370069844 140793243 348238216 122508096 600519674 330739395 774825238 103896563 610300794 600060481 848503169 467967491 105995275 744418473 330514977 384070125 372182769 651494553 506273394 740565524 889331794 616046960 894681777 955200946 138759265 494062386 253197684 270039281 846109344 849377023 195099205 772217075 664123255 289731259 457461412 994893249 976473678 642064495 278636169 747131283 976076841 680554998 633568597 268124612 793309704 947268670 274336355 250948349 136590405 725315900 985962747 119551789 193076190 481736319 313547941 683302508 917906496 379000936 731225158 989057012 927206648 781523242 820959877 668809922 121054906 445443487 283753475 379520785 205710453 658133801 282865782 225102926 449956595 753950417 812806209 796686321 376515167 657989002 110297293 973442821 485790385 120369922 762150787 505104677 443007088 974872196 306523865 421108452 333335849 583575844 366689924 852273133 405717665 490543908 100375364 237133878 973020350 779526252 847464863 988493545 216135956 405097016 357494825 135466766 576542905 356369945 729725612 216433193 514866827 680237804 659738722 297313169 806982925 624578983 532238635 574930047 383977259 736583890 475301779 668772543 224735485 293574877 402701152 353572653 822537676 331295890 130263923 129374439 644717981 790084006 377591099 660294878 741695223 853625658 487935217 908108858 206900377 163792251 826782406 292495081 213521486 949527747 893193282 611107982 683749576 872557432 890525669 973033935 422532265 505229219 452034905 707635201 524390868 984192956 442525066 272472416 522068880 593494057 345898345 166124997 918698625 265226924 869845324 233637233 861814953 996652933 120055521 867247635 912884624 971617942 716443133 602875750 768911581 677084337 640703709 302652487 890496159 997980876 481262099 862277914 213311607 499279323 635862218 576360332 593309021 512503355 681576083 324166474 478850389 689523912 841025144 997642630 624411659 540108790 920069081 510571996 313457248 701376215 423533424 201851952 719144323 969050952 570721341 979720177 211760649 141251529 679929207 459602606 456824395 339134584 709314061 168268600 785935975 999629620 236718622 439159963 193217654 505874324 871103265 129272564 357990181 563685156 360317569 600235331 854667412 887965803 310222924 590425800 311157593 539701690 644291601 954907085 196493900 721419539 873636228 312051967 862971633 425114971 196064681 807758039 918581827 623103026 420856899 263311834 142299529 195254796 371525978 689472291 357192149 430856128 500957433 380554998 689090327 567561215 885368906 985943535 791913097 536067076 515807944 823571182 161456272 778929119 927516461 149641448 413697029 420120357 277753309 597931795 345997201 202049172 485870966 223583084 771719140 594203623 136449298 541324161 417583056 972453833 223450812 499158561 686468825 476914355 375998067 578545244 261181665 450334526 781025378 345468899 883984646 597840845 202370679 765521167 354220000 670410273 838695206 816776080 185894331 879311353 470638123 721582379 400088702 724593053 319495419 799684121 326094597 179148521 296048710 791694157 670512686 511757299 294003519 686126425 885815528 286158363 989243894 139773667 217129272 129472764 180653212 514041358 494819956 448114393 997623624 468728020 542570615 625484981 732754681 900969926 806183984 955210688 703102001 541224777 235305839 930477355 275524124 885625324 783391843 346123493 677813078 925723564 169608645 698029447 873087723 861248625 448278633 540205933 434334467 787777347 732742775 818650763 248295908 351954548 594106295 735835667 790228329 893240190 850130557 890144506 407672367 416364211 638240733 124560158 788983375 443318017 684924221 245872077 140785961 547170873 541600817 435823809 350050339 666412462 734596796 267774647 148836957 531664205 881690777 893365031 683264581 303217497 173951999 958103017 989553736 867793504 185207679 140008084 364031925 272511790 706760246 570291099 127495124 692984631 954553224 388853433 205852327 943592154 216253729 573561247 139169547 621095735 953630456 354659033 543478581 953567011 274985322 117338132 873457050 415023774 350778500 362252978 117496778 877280646 626316446 382879330 466822602 853226817 374609393 192028683 599882087 369802816 951497093 935395073 442201130 918667486 410768914 784897074 634748786 505233210 252024094 940758498 102056777 556952060 776357748 855012919 278837729 359950723 487284954 452490621 476516114 790939099 407500132 828333076 858023705 801331489 713795992 592355928 933857205 936879477 276960013 748721904 387355030 533196971 989626267 631311254 449500389 582806851 967630724 265077790 209312807 105413511 314154029 198172985 823406369 811415399 691633793 802458936 672422439 268474151 318399804 108695324 754425950 358666009 424290576 399615708 466212305 380778628 989900053 996359413 111851289 912091471 573724273 768934458 196823116 794164912 789107090 726298071 965472646 647274406 943289746 263732154 688096706 471329271 985470531 369726323 537597806 580811409 616174254 188970934 103982879 745706800 844241279 793659021 437235103 311339857 306923383 947697694 787861239 555749414 870830186 806809560 925103864 485829970 837530201 557852773 567876042 122609513 667391180 129969776 842553426 333282280 440624012 987828669 497083236 330807070 934450249 356301809 633427484 637625098 677997266 636991648 412264278 224126958 583096596 818490196 128886244 364664728 158400683 790419952 911405723 795927903 994808974 363263552 565930983 783141124 791270877 782002792 911557264 463834047 731663315 614878231 272745878 625575624 530196350 974851451 536500451 100669376 801376099 286187593 304788257 375470633 350751206 197096344 164387598 667092723 498303185 597610767 620129333 838459798 461170111 885890669 712701175 838705518 105244947 243586544 496582895 269696139 373915799 853102849 649660656 662942302 673069967 129706180 262590629 610825093 100835321 373766293 702859647 446680219 953723775 606482289 491829979 678551352 391370826 361777340 585138142 494108011 472081762 738826832 202789722 637676480 494894635 136376860 715982583 439450860 564318198 548785332 852937596 772166936 818164078 980670122 778185165 574265533 558489815 826607980 625863320 864066274 671209955 419205025 267752677 242817513 973044591 137368302 757628322 725919013 434869588 342949387 288739590 866750147 182598290 512595244 893572471 523529968 411735418 143268432 137921905 797594095 689226896 371039561 940559544 343411566 300808284 166665152 627111703 695101771 916221390 872501514 542720094 699435777 402903524 154694093 266240316 487027427 858024060 286025956 128896421 731086952 156056275 322165707 144574117 329383400 680551580 651810381 625821929 901827286 862607672 702805682 240700728 902312956 694489267 135896051 236491855 480095361 777748287 153891321 311514195 429399496 672698561 352769904 919821204 572911339 294512468 313772999 732633393 319409307 197092336 667157755 917643302 972278600 946851518 790516733 462459502 672677549 340245975 774196947 124102028 532880595 340266410 609469083 615325762 250031607 990583462 114868142 378702918 675909576 810294621 462901886 118877699 300163559 933971197 449181202 157164232 111714535 172588492 856796469 791536181 874024735 460591650 467301660 566568827 190154956 919091797 531420075 402937383 148708978 228014895 480095892 218464386 348130139 691666740 888559771 180821598 705653667 694052425 191690497 800829356 334132386 743996808 111683095 807782021 539504955 619289308 857961984 480389129 131422767 706317206 487353916 968114583 931208347 956287770 558044453 550142403 475046917 599321779 416327955 626495679 227068853 926982287 467923152 788383450 523626038 651333598 565463433 973305150 802208429 843619583 962098518 415863701 490956065 557832076 229675890 160439764 263440094 899146055 335941401 510266458 746344205 245755459 239847591 993035095 761966498 348324999 702874870 368845115 995327893 136980434 454566405 956561626 475184146 897322107 331928127 664204671 250907952 495186267 332733521 975446722 636963440 587408353 736137830 217847097 113398739 250721410 196863611 539871099 902274315 249441620 163946593 124095615 135476967 979149335 974955487 818591421 105900516 119349745 367741940 242461200 860962493 708909383 412304881 452784666 627523085 966517044 975374233 745566700 664743613 200695674 468202323 165587550 914508378 930456646 868965677 912153401 185024921 569107540 996952301 840862416 133515457 138373407 758067173 748078434 278873329 773826500 435012378 982556042 524944551 391366870 275580188 560605205 967802997 871730328 927892736 224805466 528309541 287716647 484236903 884996924 853167090 715358142 288069125 244169020 419183978 282400939 938723096 719083242 503408375 566683430 716922980 542934105 668066070 677047102 973384363 840749595 669719010 534339936 217063703 933923356 818795982 125469899 384294028 586805101 861110605 653156634 976572103 798128419 311242783 529170321 924837123 600852056 741026007 589410951 375902422 188609148 955510883 362351425 433144999 345235522 301153669 457483211 259878216 543025117 895203252 309919674 945836005 869525868 161112193 980590098 328596010 159254097 659348155 995778984 175408866 271422802 279879338 235769569 849759686 150399168 483299258 469815262 491272820 841608564 627561037 124901490 672957888 111130601 253093022 663253603 360006288 108058036 829840308 488153261 600403096 439904176 354775795 615011301 474235472 655354756 244116415 597006285 705158972 280500412 273923690 917510627 392896892 469732342 387783359 375871116 641093035 112954977 100522704 420906559 930494132 387912116 169127393 692478968 614868325 596959672 173020054 344741779 546551863 430803118 621655350 943648417 905997303 444722654 568188972 863326390 490853028 753093888 900298527 759892833 506806401 665803263 964958492 593751251 997702279 922643285 197719432 287986439 891586438 663287770 558859496 499850279 192866149 967643994 712567343 306452827 339437443 335466221 986781477 838964895 293657731 812122734 470305685 163694368 310566075 988311135 356444435 476426145 915095217 880335301 742551767 700605539 403144331 768028063 269650902 294679737 624042794 510456753 889235514 762613634 242349595 198676428 740855563 365451793 208818453 190544469 251942426 137754312 457455701 363744768 486876053 676013961 849371235 746160243 935666842 445828846 739781932 472066016 605151412 328865778 966348744 832287557 938263204 913870082 789176630 866584059 395470075 524543884 183159017 421145743 641936070 918529093 404934493 467808455 172742679 771169135 401002926 207847362 146358952 112579035 211646898 255115077 756486230 255621986 322738430 749882965 615732908 637426701 797018725 589518481 429861833 431002680 456818473 252763062 284163206 153155554 249396516 556735946 111625395 582232016 503692097 204936877 788588517 786411357 260972470 380843780 871584277 957721974 133402055 927121987 955843152 773020599 922669877 370867302 534344296 416405896 749557099 775863045 556746941 111953531 329701272 436610025 342284080 999236527 345081868 946405157 552378239 102139907 618998620 455368562 711317787 984058125 873039616 115049489 653211854 591791629 699947152 409637610 791470580 623820780 627039555 821131726 857964113 868402270 324381466 157248607 237111568 951757772 510133756 628342042 523948331 183122455 730786429 330506908 404726979 504691550 618035843 881074234 888963975 822034581 274713429 537970572 590012370 849569086 401793823 316534106 116526704 916169103 383530501 130378179 251636664 481545990 483853071 938845831 838342499 128254205 577363740 268214610 921490030 550370414 359735649 317099188 616763354 535027624 999730609 617498003 330439439 692303845 977025141 653954740 441307155 637045008 259587824 988590462 127094367 354553482 237556273 289028056 792448896 284267953 485356604 993164447 830429141 192574445 161317401 335155060 414683873 842853480 808017113 900299993 305498457 730779522 490162244 936286169 784918967 902551940 454385671 629515382 598519004 945804316 837641832 872984730 100473187 286655902 659447646 794557710 130392699 236575389 598730914 150719512 925315135 504196106 644466577 388704329 447204613 542963152 818825727 277299665 817571401 532271667 771688452 297239959 273600242 588025027 529175247 918744269 559080894 325561044 734605801 537299112 502300397 554101210 304585710 470258089 271247350 639431277 127705652 719745595 974442871 946081840 295749118 919638871 788885109 100822333 636481159 380285754 657122095 483205878 479869726 860589967 237761360 890483348 522032481 647987870 680503706 590686120 360184403 350417520 556929435 496737099 458334707 918185815 698389961 798295265 714103152 629951036 263329584 871665834 508365651 391083675 354726584 287991296 225704165 734868273 876955070 522984252 304160271 863064494 259407566 786017425 299377362 542752407 502669369 342446918 865554381 286653386 808241030 128268823 336847701 114631861 167300611 178166130 154682516 856945524 928688100 216537713 859623486 489003893 924522719 548611045 452244943 612531164 242135821 972773685 775723636 904314258 975195528 609439353 335986003 975554991 943621169 366985620 986357573 613153181 710568616 183906613 506633369 968111083 599438584 713999954 130675233 736776595 330649541 461991745 791718083 895340773 899270572 389565530 474908413 626964623 575741733 960110359 280689010 951661466 119082467 179749088 634281407 292966507 851415441 402685105 762596275 924038628 806562146 239601077 887538731 120110734 376807781 685768558 330682162 800789869 347346633 959855416 393201974 336271278 757694316 150947789 884310279 138023591 865979416 659339841 884502525 141534491 274470307 658387636 715789023 681830951 639721336 948878346 248073105 355123482 567733641 659423260 229886220 293605659 255420364 880576821 835526281 194098784 975320166 271886258 855782659 817697777 135666897 620342069 283909694 501892330 173447852 316634374 594855400 764111114 452839677 923122065 812018832 780674120 431872808 625879453 830101468 847906427 587393191 714214895 813923513 948263611 146782540 847757304 267623284 768733337 843709017 925112290 929786181 297467838 542678581 465322342 866621375 722031330 931713601 789657708 760317797 864696483 652162454 257264685 667429696 725295351 993459020 255665126 922901548 635525469 697628855 543668690 136155093 507231356 658908241 350328931 637241402 784298679 474540376 305328827 769859508 722994439 182580205 551994388 222786006 808866451 438155931 137417698 839759036 793778684 880497773 709795071 993462138 642702236 673705274 835361275 848298205 560550150 323455189 498983127 651317926 960174279 764979045 360419897 223450092 539921466 237813528 927092645 596008881 453061555 966185518 839968295 499978141 683826716 310030381 704473930 186606506 690061717 462151983 498244531 986905184 271383681 580035649 595243053 821931168 212610760 650815139 223059768 661531514 424886111 304479301 465514790 399428533 221932701 966450659 979840646 873477996 993760617 992294647 624328733 785241176 269352593 496093104 478968549 512991616 148230687 795658691 492366176 228175893 114551838 687537603 899178561 582842800 940595844 593285613 872112692 518120737 118908986 333150084 320500053 704323623 841187864 934019626 395795517 408569892 805554722 639367947 795491010 211846412 201807306 383322688 929611830 463222819 796776760 174104167 835986527 595090888 251746063 144796603 701337330 818274751 690572141 606797877 655127719 926178726 518789452 373478915 124870565 216757293 134699358 647264607 693719590 257111424 801904082 428714313 568554901 669693237 390683187 483172901 199201472 841573020 955208601 529982028 612206453 695141707 630844721 882511208 240535326 585117685 483423319 299713448 538442726 449409680 366822289 252485208 792470791 396738295 414720352 636476546 720017266 416731046 818474998 982904057 645372535 118428006 268179992 378445983 206060845 613574922 178573743 464892438 264729592 828061592 459965241 776153046 176300286 438860725 402329733 622103629 827394435 128108907 510231965 164702608 419281638 207457558 783013531 847116953 270083552 336419166 393539922 757805068 525279561 545297017 448583348 715129248 975131575 563869324 493956416 293500269 725304475 492161994 582639139 936125437 780515735 309986955 575242849 277550132 877581484 115716203 620733805 925092832 297877451 940960188 573004352 780544111 819294409 391932542 898481261 977885242 822272135 681073007 342310826 155527795 798786139 658006846 916432857 844069282 856542825 183225689 603070079 476136223 170508646 714149041 163381851 466051152 291176702 141254831 309295637 366825020 807493928 183846434 265300978 842721379 505357291 845390564 242242757 563164428 289733101 534925557 248114375 850384772 760017726 912642970 689654539 949252518 211391126 114876620 569918975 645385684 761472467 722448961 688538512 582493579 555350506 548033986 673571947 240563612 103895370 685164650 718995836 141807349 370655931 145044819 687772928 159989949 138244133 541016434 262156704 160246427 627088619 574076067 607022527 740913603 963133957 684810115 561650575 606194336 745887811 304379157 306980238 487516705 739239839 496346720 339261218 885999102 121082441 546050128 831163191 931334716 722503924 893599204 748019937 888345480 144678183 540220072 960762886 659305518 971384738 530152171 641726449 544944188 774689457 514150920 547291199 867954097 710981624 970547070 415379585 944374693 539113600 544425971 459313367 500370933 143719098 897975527 903249886 863711168 916738115 106511376 334624053 927522564 361660714 748105858 977154092 843732911 591708347 735669630 993331181 519383953 656073943 926140467 685543530 976377972 359277549 433765181 803375193 654988022 833538680 471042305 119636726 820148435 600191509 810189713 117372784 679374828 238184243 530739700 350384237 452315709 554122058 899323679 213345295 272260621 365009649 870485012 210152416 954051821 646167067 179381266 406047227 859770932 576037805 430104053 612415476 289840854 403398672 244960125 183110434 212868637 807989058 370664186 117567940 686834704 168459474 550256322 483440577 176674854 850229337 704964633 943052638 200067566 684185568 388041161 422490750 855207449 821734732 838258879 276370333 501921635 190237879 107886223 819876998 785587303 572746118 674953904 522637887 683282965 700338594 422055753 735485147 247104453 359016685 154371277 607732731 256254724 739122245 661321228 344674900 440064576 662241642 964613471 362753769 555637707 544605902 163818945 185994509 974648299 247112806 847211047 772431561 581318377 417165909 648680924 625386579 139360903 132794358 666463099 399921617 185386432 536650965 691873934 179404806 545712913 572870121 897555956 207942997 558565257 673508626 371767577 461480966 830874856 812164607 979177115 727333664 942186267 445124522 124552600 263493643 894366989 698619205 746259862 912910348 600885924 128081172 719669718 420099997 693443984 679090311 476499044 108511705 354115895 775956323 929218691 445573535 195843334 776700006 780422851 813817288 366189741 792526266 547805865 491712259 910672504 921101317 338193792 362576981 862133617 386033108 540928571 677877867 637146317 166994803 205756933 806922653 384744624 944144465 843652861 579282164 798014869 886952370 815119317 438929045 614525131 219830289 910667818 393991084 789006918 605328468 597514409 693264788 154377975 802842759 350641434 742986831 275351674 417339665 519178086 675530073 194019263 924484035 267339272 804254447 344716416 240023727 645049614 180092029 376528790 457627390 802025987 425394315 473467956 260924270 712535911 674067329 418947261 988570724 462381115 737183294 843558114 299991182 464401596 912842465 119001495 892618616 364745793 265866550 273652782 187639453 695659232 164175231 581071729 490321357 501420907 693667720 756184469 614180137 269757528 700741652 751463292 823101689 337201821 893118016 423114357 772583611 920681100 263229618 886380770 599462235 206957931 248459377 461077446 659981210 420974192 492703617 703741020 455033345 335619516 499239324 595887459 900431834 441541665 200791737 409039675 924473226 207689005 724834191 441993804 692809172 571793824 818582350 357254026 614377701 376939129 524799865 215157069 210990492 517303363 464963103 185088732 542161224 549927675 259153119 215902113 378199412 602830478 325644125 379898348 155302073 531014328 345645701 430064115 466445590 681405847 874580876 915718348 353274024 411202139 624730699 444746962 707112915 169396219 478838364 592415448 981944635 257244656 349371069 383746820 822873718 502428490 548636890 473985689 864271300 711159837 127721553 287448332 440093522 826814375 562973481 700748208 247966356 317477771 387567914 212629423 232436567 227442737 502191378 272610852 662157797 556875308 389783859 549219475 311299480 624524571 505126692 936269899 871925552 602887606 508814125 583792839 579280623 529243060 985325670 449935851 147177213 261753641 499379514 843982995 116192369 726727286 442523390 853010626 999818980 884345487 875199582 555877521 381349384 635513572 684993677 510755282 542062330 184115892 207561302 201849543 203120088 663586814 140747238 713002737 234293607 127892550 564623621 397877132 621244883 958293028 624573355 613200453 149734583 375130015 864783498 532683493 189339843 866306961 483857989 949607715 831532587 890815855 526810896 164288262 886888267 627811931 185202108 524517676 677871306 477274177 943458387 772265789 301542341 392458844 306326560 191016522 754646983 428020678 776600858 332152657 179141107 629454601 701577431 700364065 681349319 415971836 123496367 467239530 910797601 840536107 742172223 732288860 473158418 701210254 724305554 211060949 648979770 403557071 211766026 318276217 575413782 455726829 264767113 373126328 964632274 747855601 982993705 434166210 553462765 122726944 280221460 132120450 695844131 156466553 394547998 405590634 616296813 209069050 916681945 407121291 916587888 273074237 302398992 627157691 634471294 992512269 894181345 888955309 426211933 693376787 508513649 278116582 584409070 761557235 681996414 352668506 311418937 143749764 601045923 885665809 669446155 671701789 121238693 500659489 146909335 198452208 591181553 204686935 876417892 557352109 640270055 411055357 354979385 963309548 897429682 779117540 849954038 673704094 779026599 573727948 870947603 931695288 864901944 130482912 689034698 127983618 570186542 275389369 823852604 628124943 311058254 356453897 768877194 307112267 930772875 125448629 482660216 956829436 413545593 795663724 992356406 146414935 309748734 600369028 715173639 229534039 692882124 437245261 246864270 673202339 992591002 464835860 353222688 186301914 101782788 154960560 666925977 323923700 819191709 263442579 714789455 831395223 212506127 466937253 329686207 638176998 768777551 297345868 936401924 784439283 643365510 441073289 114173236 660547514 234170674 527214963 303261259 923798292 866638847 504684220 102185612 503084547 607106403 525987525 274104641 783443796 520136333 355370159 926240899 918215829 729382047 197100325 682277716 361895500 126454332 339186517 837703258 515881736 826670146 876968881 523492649 684734162 251592495 935313543 415223246 880746251 386803859 679424357 159318411 587152851 217576021 444974675 420033659 126044765 745964274 211574010 747050846 788547368 203936138 471724647 139468722 765271035 587915507 544882264 479920037 664339017 424905864 276663301 190415529 318249207 506852811 847577015 752212191 148447710 232652796 949243761 371370469 266997495 113640736 850211478 152291290 252436736 160271899 232772484 809940577 759155500 466829533 913355853 133299288 611529603 973089524 369175977 408412939 825102856 211735054 298143322 380399317 530854705 774020871 219984336 915725298 584032707 605938480 833602933 537205224 982252989 664561269 224653067 231116002 738812096 299365549 525650526 327360919 943333312 810428949 462457684 892877937 364784267 394929072 129156674 371275847 482137418 292161137 293409791 949152669 293170698 411397466 260492078 381895764 484258872 432919842 144501220 974604249 870821543 415228275 328298996 210798771 304344957 617657685 123559490 818873672 364919313 545218360 351248826 329122520 616317386 205194718 563552177 893536374 334673610 322466268 430506634 532564690 417652256 665952656 947525860 515561388 939337938 838000167 311848580 573990414 571616735 717382797 975354004 317358605 811243145 164778962 142537230 564264035 452142109 117375319 646262589 351218027 402713979 892799361 564368661 422584213 592661863 324261840 788094406 954512481 355622049 132292985 308827512 102091540 880753688 464050717 553668018 330765279 702136921 753145803 562983168 991277923 490951743 430051282 391985005 309168792 364833249 486273712 878575806 426559929 897273547 658458850 201975908 398695785 475884145 218932370 386036062 860914530 177499486 842663332 438400653 422353194 754405491 403083024 860551978 715066307 689486511 606790094 826396433 764541846 675022297 660044716 461038523 432074344 447954146 171045955 606438914 778290001 520457601 284630777 706777060 333235637 704056594 683557310 155972793 669876713 711203211 748954844 652536928 341742129 749190134 984546022 824171402 227616798 403791906 514730027 129002201 179428869 194528957 654500607 250995047 113625446 413356461 847490251 104909880 981384787 603646870 404223268 944991252 733006333 934087580 263644446 555996640 450441084 621975359 585098377 967268067 301083138 295201017 495495340 885193612 747738922 322950709 986757512 450439857 378327704 302342306 314883272 713946426 830644356 463547354 519459564 787488995 898887350 838138693 322064297 120920233 356676084 687701063 312361194 415557328 286946013 701474553 736375493 906602202 517041935 151568735 819936006 995430124 377293810 261731952 677899300 214173817 637422513 552665540 444832370 997464172 512873056 450578566 552164147 646051521 223126943 997246101 571761328 956262948 452575336 908487874 323917191 958097141 685200681 726275918 378486611 635063979 636876933 537389724 546485651 588649778 137330750 324465862 358420465 284005876 124905264 976564107 374902090 527310631 140794346 273182874 946410277 428457395 148889368 381937205 465964128 991756243 947428498 376115683 547816440 151417711 136450311 638191562 255420450 389360868 432293490 352302353 308963409 871345577 929208748 342440050 460076619 681836550 515731591 500296104 249544602 391393323 724571120 597029317 970143538 591633220 614841128 378818465 892408074 152425352 152082980 583128536 832902647 930478304 446099681 426083509 600412497 585301179 353840049 549160941 731449404 111107684 257739216 747595240 510890238 786340127 784607325 110647614 262587231 666381983 105696690 800604410 268389860 263375355 175247088 612421008 700534496 174645640 751616070 967276089 823027518 238508695 776154345 878970334 891028309 832323240 433156782 797459026 387808672 774700531 372781086 126761660 269675616 813376018 465402611 565580184 657451133 238449841 726091904 949723979 736260562 607533072 979712087 456537270 728190944 873331508 896139138 736595011 620699659 208120049 111231798 799500190 151747263 439662173 680842501 965943751 249146435 412406131 494118466 110004821 766059115 397816292 232313516 837590935 575352242 233686477 401481479 999395022 694029612 945141838 780863684 106125362 852834116 206794876 734379813 195839678 641776894 990465289 354793293 180564499 224279227 875626463 372204118 582755008 493708299 204242171 478882926 495447597 599752311 691184148 582964087 547428767 532741035 517684344 458589330 225895781 584311225 167918580 468082252 700310124 595350621 331428817 502167719 706982361 250558043 677096584 607718752 637459486 825050234 232459033 401518253 853963677 772317033 521692397 737280521 364226281 267032506 960626867 445089656 873228364 187648158 252985253 601590712 858263806 826688494 955351170 495227687 458137674 734928718 262134247 386548804 186540455 188316772 556038244 312585733 373188348 416093678 142170429 216820775 615774176 225477276 499952176 408366335 924123973 673851641 650600603 110948350 308995605 387181689 866310921 299744652 329115764 477133118 950155231 167400897 148359241 975550637 335427556 969822400 412754062 587538122 393607674 141683172 893064693 761855064 817630501 103012661 327580127 796733278 924061373 794456700 865434575 118256372 486179909 356260854 106269748 766632416 259509694 316531282 510364279 214019406 503416781 949123366 878469278 226478660 799569866 933370797 772144006 345126339 968603025 100613559 856920123 901400795 912249685 485031265 940525009 940905926 692236044 885288650 463081363 155233660 204522536 885744521 840630973 997201568 932408022 622824265 956720402 758552022 816394815 527477895 812395811 832174938 676636557 667260079 695743849 339194706 719355908 587036739 577445880 867617334 388237172 176990083 661922714 797135269 742594165 240698646 144712465 464871132 759576966 441951578 412101459 629708011 241994900 468831525 378980278 961948502 616991830 730346933 607654207 807636252 380725164 230300913 262879118 748881099 246726799 250091704 286029273 300898402 610654525 444296725 423021375 128093171 181721302 261854866 144244276 894529355 838741145 187679688 409527273 916236409 340154746 852879791 645700962 148824587 857440057 839496251 190523829 217800419 863138952 496385463 252523195 997502931 445349977 338766802 744733894 893365974 585811027 326693142 100501588 238367464 638910411 594040792 356048384 314077741 359643697 173329882 491728440 473866300 257726374 381597201 812026875 497916277 339047622 509366763 596493512 698033283 333467253 818733325 937161564 720294714 840411339 267459072 861511892 791838801 355274692 350599740 928247568 475532129 216256612 519180014 383525150 960239097 834663013 393531895 383059628 301288000 863090768 727455065 442370058 996637909 623704100 561092064 141506306 339744980 496893910 326868265 707788929 650211861 279209593 845043160 772425807 374600046 871662329 310258991 176191878 373803742 242934832 984179734 143191236 793036080 748977824 976452552 806333498 612233196 772457947 646408501 448637869 519843146 938670763 352744690 917791714 767220103 810278988 281529634 225633681 777722685 494907607 977628477 406894306 324482127 197353468 585148140 998406927 955745068 253943278 133001219 744761972 602785848 879922942 334520362 813957655 309094758 558367395 855054883 397830744 298446663 167431249 917747414 721098084 979915616 248093113 623646564 697727281 711423016 881803551 838443727 123033610 721824124 591212477 831345206 138333251 282829760 159806406 911156756 351647227 668856938 299189669 139406123 264796308 134877364 168447984 806037241 775491634 425339602 638774180 651339528 332529173 487352585 346810398 791209301 127690163 235662062 557564033 102639624 434570156 617209992 132272423 665986630 695542787 629386369 693660547 608752564 811634034 484614005 135191070 145782522 268652118 575148993 276361655 603931086 596729666 575700128 946188515 165771255 939073185 301885537 687975617 809446461 562176356 981143446 980247622 662768126 911664228 517808426 494661087 669386666 992178965 815902705 350303435 181329642 955426977 646551374 185651885 300952794 760061766 749061612 362234911 689108968 266679240 563050400 101076839 484662702 537627530 928045902 817664346 335169118 261329518 621322208 430704608 110074576 679632269 834971699 194337108 242424816 686877922 139843431 935727950 507023247 423994269 925277839 720802076 628058070 796172368 698331257 902505911 372599800 789609112 327252341 935001648 292524896 858096823 321489056 915257974 148150294 971147557 812127869 803657864 939376966 392165544 378137818 727734423 819171322 741157225 642871005 688576428 505674178 814965137 452313882 439586273 134064929 658341217 666450063 422139664 658877210 368795750 271936538 649870774 143624328 312914329 100667587 809930493 996281039 749823747 459070142 974487549 394741203 712970121 132625578 337329300 561414265 767836349 432994343 645902515 328233806 924530051 781057282 330578627 450650420 301407536 916067389 841066224 332859218 442043522 106142986 728920889 928707687 279263638 886261694 391362641 683177803 246677698 846940614 930702556 604627868 716179048 861058333 811354807 587621283 696814470 198110711 475233115 392669970 494932382 600250009 177233408 251845613 515658167 377648750 394819505 278687253 893282997 193777475 527357706 237400980 928103794 389872819 299922281 242888715 513272803 394241157 522406934 913766537 172367131 207760036 920908178 457121309 491709876 602797410 260793808 200281884 883437746 803639041 114012989 395562456 314358750 978972322 395443782 626890529 527160328 817085718 890046825 101064266 236178538 517704711 557153332 546237366 625453292 419897177 864935899 749447711 677860704 337962985 243882553 734665587 816158791 520593656 509639570 914929046 723560765 827549541 324256170 706401745 187361702 856411467 173876984 483505695 647336917 713672988 742114583 267826824 917927467 599058980 577547342 209851010 331228201 492112955 102873748 500567207 122310111 508502144 266964538 893538811 679267631 301002545 445302302 733463357 724391417 370668083 808710622 432961946 776645204 745642489 130250664 643991485 940505295 935757971 836625929 288252497 490782818 606015831 340933591 901578837 897333548 980536247 860473055 581200059 816086447 504844965 617482675 956911708 936754665 812612929 446410388 986827145 621154115 853542823 542025588 314857558 441927567 430003482 216916140 121366232 496906047 866942459 318297384 790149943 859998787 155751116 395800973 559964088 292401742 979381865 335020351 267379403 965376139 118013018 885485575 614792276 812626861 259208664 529040162 622474991 565977640 881222485 814569559 187916619 399140580 508915091 821585870 820363874 707389372 573814828 454989146 236261216 270743814 305383411 915391201 989530821 161838651 290265816 487678418 660542619 636350427 751795435 554294960 895475915 951389983 138210752 285585441 939408076 332352859 928092614 263326319 106580891 521031120 491903534 819690755 130646791 699374167 518696908 706515797 932674611 555203414 633819051 107466755 139652074 277385958 420402261 187005156 842295779 123220085 127428775 517456283 389690015 454763463 200938189 171409308 286016191 266531191 640792295 440669103 497417155 838468282 671203042 964383850 700978482 870218118 242904821 609955495 664186929 632226980 264176969 381270053 465897343 188704806 839871898 175123277 892545266 234042766 479582507 196078111 190740028 147444208 137317613 362331076 435977965 365743327 214943532 849711273 620705308 811945158 612497690 275368619 290583991 109724384 598895333 492704454 736660972 209521538 405487490 132110717 523595401 125480800 705709836 361285761 362979496 259673550 404673888 739245137 178008333 549002860 720669153 258701447 845605734 584686853 137678283 101891346 766475246 402362593 336454036 470881058 913773408 818430814 410033559 568455836 990170011 733988728 418404753 503508855 868100876 853665783 788103289 240192272 726897553 575024827 715645018 913670061 563061638 866674213 657996783 221474355 984569305 806701363 111457823 983325276 366472335 183387040 339913960 595681506 560718738 839762824 399143493 864720782 331419752 145269361 466144339 472813770 894383896 162752992 608569082 142655005 784702476 349185058 866698746 584818346 268907280 580679733 876528888 260763242 766328130 249717845 246559722 593826744 538615668 657291552 344760452 772565254 721819017 649797534 659747450 204256200 854696975 691582849 854298515 845653673 796660431 307921756 653473891 142593935 548521740 117045474 821491193 625267515 577184349 525949548 854652316 601432712 313998433 791136469 191148410 433400261 134311185 887022275 627921968 701682412 715335013 946281165 338628127 581813383 966338543 343465133 232188092 802421987 810022683 618129378 281728154 192912803 409875478 840802750 951478137 430778701 718341199 486229698 210343285 285902587 555267095 783069332 960242957 690258974 495407985 845539264 295481784 471342518 605140666 338898034 218031105 407176180 768736317 487005076 694086970 612880773 837753214 459766077 152839318 776231225 214101849 427012260 938477186 361904181 561066979 308677685 150997233 678731975 555146633 156325949 474843948 571549336 994651259 232732812 102707371 685139222 372329585 876161906 745856823 657987931 836487494 146088052 555645765 595089118 392989728 692262458 224830994 212520710 311342842 939281899 103756691 160661062 795525866 325129577 110823122 131345213 294597492 879529399 583938393 499766500 420737525 744864569 451455747 147603416 591934875 183732961 268882864 531210071 310188963 827204880 781125609 409911576 493272223 886795486 468534757 513960765 958683129 547892521 695176555 189755061 663388482 923968734 947360747 365323682 997774994 235226758 733896314 979049441 617141683 901075446 438362367 822574434 426881186 638169833 473611012 963327108 459640286 109366219 298342097 293276761 940115162 776399932 416058150 188690406 631695843 484739415 709937113 585433984 466751515 781641484 995875311 995369579 449284551 176626019 696585838 626417690 187299610 735815398 284387523 768223606 963250474 739509111 377651960 869035703 308310072 253654990 460330032 505118176 454765577 399936762 927592843 768690727 716707423 195648261 623620434 206744574 814112748 520439422 863166150 980246741 115001877 741044792 363140392 378398903 998104035 295978410 205661621 232088958 358245656 652918234 154047917 465415416 257936235 173869280 676178239 472036149 583949341 769795235 914430326 184855311 185079379 895354383 760840850 461697285 331763149 495555065 921434012 859741879 357383684 593151174 726916703 561326023 193506810 469981822 518305193 493163098 486404134 979582129 910370432 734469744 826163984 551240267 698582174 600122539 774072884 493694054 337643321 745488655 172930352 842679477 822035972 376866304 311683032 731502984 125457569 464116112 974422476 550766716 116447411 633165324 430272911 498025103 906627800 824101768 434828704 410618578 276057880 441757592 852096574 220632766 628966237 224640390 572271239 266901640 334033813 929281932 307801000 789460974 615299057 989807684 669713796 301480587 847655534 631087622 312666031 163499275 991590212 915317031 987436094 391002232 782056538 392455044 917348166 619063976 171594486 765590040 610615912 815640245 303127956 844658197 733850021 498036038 579923496 302405919 790662278 323844362 660487334 888293319 178567283 237143361 223677718 342902634 427628748 215783142 472051703 558502944 906624752 777935370 259826569 587206967 993283416 689205279 882295855 895434295 151257385 835374755 370668320 301821619 279072431 935821993 846202717 253042223 629151700 889139435 412702967 506312757 358937149 889450541 325081322 111317202 196742448 855278322 503755662 756182363 723481489 910835113 129204908 133788430 293809380 815788080 595831149 921320387 996183672 495968653 562477509 239812023 843301072 954737236 321943133 589629946 699029874 772173805 884478030 739873743 761905215 680283206 675522880 218304892 776074327 893604130 554672926 262616409 789649941 961605018 758744490 444822303 246476666 640257710 160106808 781953812 232347408 663328124 734732135 676576432 461994485 842058182 496644706 752723514 121844784 539360004 940898628 296784474 656837422 692227632 538170196 178098805 531673931 993903911 527473807 249549280 455566208 574692631 569626952 448645408 978523023 147608480 216123367 134675805 410597668 318772885 464373137 455796683 899593454 947488196 618512032 862539219 338551925 687907898 311959895 775041307 215695769 368442771 139325830 912610141 999461574 742646780 655569458 294600377 538217983 625451502 928421520 890081612 587729658 403252670 115654611 366014507 243215767 856014957 861528824 800098155 835740565 607356282 714124930 357799985 424915114 743072850 408082373 692557077 282387994 932379203 628370914 395905445 384728230 741423804 535717535 250595156 818736734 110458045 287049128 265016216 383065602 758848067 692209256 744986234 259529580 328797415 988493764 662902692 380231867 706211190 794928634 821372216 141443537 580367967 756853670 804766368 446736309 801875636 569521542 752700698 489961824 414960819 283026612 578121793 877270685 592969696 763810284 668726495 755371781 110846963 403517912 531217661 251033925 739459599 871078978 757675822 197162889 675544091 609938970 141655375 405419102 746127330 173473971 260515931 338535139 491777105 653640331 768366603 227193150 969128679 420652210 582820441 729060465 703194555 851713519 267079846 578583878 744172202 803554538 124048791 401053302 972827250 232445555 299680318 573018560 934122880 195399528 979820359 652554478 570213635 121499758 857327565 343718932 332988576 763366816 605888036 683328283 303932381 237452381 542905301 515689894 238609078 944443557 322975960 538531788 701110525 932560901 758036738 747291581 817610059 946640472 867010560 404353514 202975568 727091147 326388913 621509454 359549110 347950411 420992905 726913422 437408809 311583497 790911081 716413438 884948184 705597458 975159947 640928980 447129952 850636595 338097770 379478661 271466173 913080184 825138653 722554947 432346441 193466700 946876107 577853564 143179394 492920786 882504353 945768598 258380536 847096916 251639498 159762227 603192187 183070222 102674732 761912259 101047751 354520088 211024739 191716301 785423256 785287714 911827948 841431182 142248086 207799868 752694162 820718451 160567633 269544068 550397266 279466471 947856600 293409244 650518335 117968626 125860314 622216403 298108554 666035647 747884645 191661841 765162866 365653569 776089646 885914364 428857653 545013715 717348734 882312990 642458276 917763031 819180726 217908669 647895992 530405586 434325851 471706970 278147478 474857759 885004579 664924869 663184541 303718461 804724696 833703322 302247565 845419461 180263659 765126835 382488185 745100646 817853195 374376511 700216197 142070795 392643541 643133119 225300425 432048792 550651281 859718598 925207493 532491371 434510133 527963074 244956023 901787666 189585318 537494751 276067864 875365658 207011606 792706649 642854704 158519153 919616080 785170335 331788206 685825083 421183459 163146447 434331576 291653643 637215025 400111720 183258949 283406597 784302785 341188477 656628020 516488810 240149987 261002543 644613245 759024883 326128502 596044484 613056297 926755738 936420641 649657289 695087384 769590220 377624720 407804084 320549470 815397771 955377800 772345144 517238928 805786385 385423244 826000728 880302295 807724844 143973354 439880758 548524741 320074496 840562261 810765601 752867583 995837975 505562486 521434918 258620952 556263922 875320924 268541636 577017310 864487310 118228947 599778835 711882794 271046494 132398801 583779160 359376724 464451727 168255588 121126450 600028731 871349124 348337766 278144307 931401876 970532042 944995239 504696153 881938292 398899163 847880759 839838376 760574108 285850396 317316585 505084226 576345305 452252687 911888875 165162149 371616475 980146005 515371650 249754221 427460593 738843420 185897055 573341608 567216038 803135496 830925430 423678535 270600004 231433455 556450963 549846300 378266720 990043155 669555968 367627693 816282708 111807506 260150115 963724654 268640163 870621973 918142092 836531174 107084633 936655895 726749576 966505219 651718529 474665682 227098525 465199663 607076727 288185599 765768792 963187922 381580672 223999301 625076979 465501915 880986910 583285859 483533118 181802635 430055024 812955351 224937210 167506024 539815408 417683226 345300879 693698827 820262959 794021548 318072082 933084253 518305887 896780849 126573408 118930288 150230394 824070745 847388920 726230067 544324535 938678740 349401898 319852557 934751026 853877132 520253815 646143769 778170500 825684987 383044879 893336048 848902273 337618216 156107188 176446603 517047836 686128594 877903131 816386251 804628184 721328114 384635925 967792861 534259850 193054624 550213419 302725141 790609276 509232834 698028640 398476475 670409314 825657163 761668595 330928720 652155369 934691360 212556972 650459900 872188450 970513691 514322947 272359172 459714986 191225329 728483217 384426030 359377915 322073516 921826845 506828799 306106879 994230451 655236867 828450439 113792192 585330133 644299303 826460272 945543753 695103408 827336511 272956559 260121950 356276463 581309599 529586179 962547771 485049784 550780414 305003025 730608917 978865894 332630736 953944726 512167444 359907610 895399103 800931899 945897192 362242098 995301477 583311143 733922758 668503338 787110813 188394816 325651869 457587318 329267756 352617105 405647393 682602115 459863921 799485421 769031541 912676961 917723314 410279104 245136519 606285858 329371296 805093421 377285414 359521342 590153081 720049246 441271407 451553005 566495789 793895352 529224811 780357098 876084842 958032954 530261681 781727641 218174271 684816461 290624315 562091862 656726987 189564688 213425199 860684985 576193101 802485609 208437053 679360006 536377767 269088236 732074323 254148572 988576176 955660190 982623685 586401545 864407219 369120924 285181531 324375308 644543613 118405831 150555731 211147714 244014189 754705367 263884292 826267544 948282457 676838381 775113954 459543916 699924378 820641231 361714582 298566528 722679774 711742895 545330134 570788746 298369986 156658548 813701040 566874882 586921035 499137638 970024310 377639921 365095922 422435444 608158442 364804537 391177925 507173282 521434216 764893234 825333679 864704785 777770929 346837485 887733621 908277357 559643485 819144979 525859722 866338805 759848908 248940738 202464541 701002149 891341821 487480781 639717832 919743965 617771692 209061022 626870433 609809605 285292517 988699919 709337387 863480124 639330711 645148947 762895622 819445791 966720104 583528425 309256187 280493702 933133402 888665247 980412837 739357739 580008973 904767242 917473663 976953367 152678197 716142715 555046718 502898755 876716093 502898364 823362474 378106006 736032593 814384167 159881471 216601067 553757278 335913819 894868798 722158077 253395408 161251160 197747321 190761230 257936579 958318533 876843262 279692571 700076097 652796373 353399410 595953950 443173852 765780777 845034696 773812899 844846989 181501352 251879535 382855510 513644143 526851966 526524795 673468910 559258045 163599639 936123420 924963700 132304790 558678368 626429026 892140155 519794901 498913555 100181086 853148552 624416173 527850363 538047159 865534185 950831775 948940563 354482548 386932384 145915488 968966151 909661006 798112955 101962395 187801648 512420115 903515401 154413566 970358275 637697471 400674996 667771786 531192212 662236446 364903084 895590766 942167862 205584847 922003178 527708205 923981824 119149085 993464937 217670504 881712221 981547360 540421224 923679733 330617824 244408121 610377725 898030100 800133264 544876286 849489769 222167191 186669582 306336780 764988928 162053534 761371700 240548052 904311853 817636495 779197679 610340692 979115203 315515652 605142200 546698822 105040651 547948224 987928961 316750118 158050075 808962684 754654836 442814582 411877929 649509210 314632640 526230280 117431783 713914406 567040268 134995461 244095500 110242973 347471736 498552721 127822659 109571380 536707278 379889069 157162933 521558714 610089422 768007773 626822341 533541345 358714669 427973745 546816845 135067757 831036102 950166428 158358552 842463950 440686126 150815949 282408321 544830738 335247888 815526021 737547583 434567990 605219392 911997203 973751070 978176938 538826071 453830982 835393915 454527415 135739981 755995935 849424348 379547008 647780047 912866612 740887601 102559772 806880437 102737212 648742237 357159120 169846522 378289704 990362845 134727421 511669432 291073730 315912439 623967650 633812156 313838620 839573677 431618057 213092963 701450877 885354787 478177645 883244811 827561411 846972163 369193994 124901555 453823559 646298392 670708029 799470305 682256891 547574654 628187625 479017721 221492383 939572910 315336472 814242049 649893167 240158276 849976430 653549961 762785317 184905206 634706783 843157340 363067844 499647593 515703559 105471291 875574583 845417309 492826982 908000082 223050408 353878439 587688605 918444734 630712152 574455819 597899736 486251579 262206772 169782358 149793543 428038602 730759443 263669306 123934586 345235901 731536094 138245577 666206037 576367508 222576859 670260271 314304468 349307911 844902652 968138585 375800981 207958130 177828704 173726992 870374121 750542773 771793568 435055266 525241785 120792719 208750859 427678268 970565106 509161786 407108664 820438414 529464912 197016087 502437259 599675689 613368523 520027468 317446126 282234815 800870513 669133834 451239772 978205191 253055296 816212238 878926390 713480588 833351737 462776501 350837841 508710573 227330576 923363233 585804781 610455881 787723567 626446331 272997878 587069598 366484334 276756014 714701884 561919497 395805237 277001195 985449120 798002914 543605136 227663461 860178319 468619437 397564584 202434996 935889303 373016035 832822295 690468034 903121219 264677676 634669549 439098003 181087762 775601251 331436230 341819158 914205225 482619095 170431162 155998721 471154993 785987749 612607695 740517274 353912481 237051556 948071123 205470289 937382574 711950992 900088678 242241073 620354849 978627219 354742766 687992033 940209217 171880893 241004836 390375831 821574163 569508905 657018963 738042914 476071350 585448937 901499872 682062227 733159120 228041999 438045897 879404206 483170821 370966640 997206881 578612655 815398590 468863687 476286003 490016265 316845728 336294934 174638371 223459253 760570579 842989704 499680177 636318316 803233027 807862783 231954176 839380785 476817480 709492534 557208242 927069974 902051499 687840812 913250574 952680462 189642781 360509675 172744402 835692295 631330180 229418224 403512133 850331853 554560436 922987229 639387853 668390949 769740660 482221789 340040621 617493919 780760869 564601508 906300715 110798632 619304692 534102338 613400126 832617622 396808472 303834150 490110978 695752467 963485243 455539680 224790670 313089424 499167596 893751555 996794910 370132083 312250680 101330360 482605487 175536842 753631011 127889874 707851440 823754888 685188187 300092123 814323936 738997792 309729462 455748528 648181319 178035640 584155068 214599293 660194530 316849383 742034259 555412863 284323898 836288114 476464508 358161091 368075233 236589067 655046356 883814560 874448842 195133182 491524569 534133259 799500997 119745555 755446383 936548542 667825300 269434393 889965339 663993593 243837161 872325012 107665015 699172184 385834497 844076308 843840642 443585357 816661794 575286477 925748650 507057365 823934980 550051124 290402763 587522251 308867787 947782693 577269042 905714530 800887539 363365295 906622134 970336886 338611922 691434196 201099061 382738163 429251262 293264524 884648696 849934273 411715716 710891616 552187384 948444647 320438813 449326507 102038204 547950500 992866549 964087775 961104350 780121738 226082622 408697491 621142043 735526129 668864925 394596156 742725716 125279376 537862918 939173458 981636950 462063674 645524475 436360601 326478496 726027039 231104492 354789228 287275881 458002873 327195096 483214298 768405382 521607019 446995525 752072692 867880518 141817357 422772869 402561772 988323902 943204613 176980491 568127440 908317450 323816846 904957131 606553894 475868506 274974790 920397339 554221806 988403092 659134816 590301980 845380881 297269417 941770065 756923412 403615053 607849207 911141804 234803335 330675822 416864425 748462963 922054131 685413009 570938727 611591201 593085867 505460702 114520987 996468244 607575324 894289699 217442198 257226471 400430914 684650771 805400085 864529163 411452038 880111379 450349232 110783050 674656401 682898664 844551445 533153316 240875463 845966148 959844694 881891195 455625624 534666851 901948929 147117895 472677691 474106575 524605038 315102487 665356234 119678631 513330152 718225986 254331061 631023840 231774852 971283052 911655697 486792497 289338897 578092683 241200930 767723197 162151631 513405219 366258805 717467597 960738320 344494087 619242224 877409867 873076026 880370318 158191316 488969248 160179351 689125264 433900068 622149738 380610574 260044728 509128303 243348809 358869658 444677553 123296705 683225206 514868924 956187387 861940967 223426422 983397072 463528871 829125109 165956166 526915835 413100778 481850415 906148776 724663203 843770827 465578358 538143794 549394878 476338296 378305667 508668434 232559909 342698141 291063478 331526707 306303618 634892682 536765035 780017573 388240897 232320854 221420430 423845850 948560218 670195169 173950767 334119094 433848538 765628362 285679997 918430814 324676849 272352637 397492594 745593476 371151801 772776157 446126374 773262574 239123362 131743673 274112485 257170249 611089423 672358225 468428535 424665385 524895062 752460663 557175807 822440672 664108108 189216893 677978092 118146850 445915578 677965652 767767839 950613115 202092472 576618665 855723245 103183738 915078114 181528016 100378581 599039937 412277522 198624835 559559393 405897577 920016532 836780182 845576459 972589117 844758598 118578954 455964793 391904338 335752846 771957876 751351963 460637074 246536963 305725459 425488186 298125327 624099793 549571891 777483742 583819514 191647302 802750177 677165695 596797418 157024490 145340720 136967462 921506317 104180076 498409496 592844794 131510139 667082725 250124041 144878178 386977685 856590855 214057159 463557550 350003320 270094930 959923044 812099541 112980521 798213651 601594384 561097258 249160104 511089072 321357937 558502692 738503747 429697962 381433713 208475423 388105393 520700419 526449611 490785173 747906217 586173279 744834511 873707429 655076030 567977597 727301998 583552856 963982963 834568924 856045278 576792084 488784522 298563287 756471050 622329338 977269519 467075106 721771039 875920590 180231741 912402176 259271222 158011582 810316053 320079175 889712211 203629395 848557337 222670430 607959892 853865279 223723232 514989717 785013294 717630409 779520253 171967391 375201025 498694029 373507816 889386224 175704610 370449896 151774772 578331363 527364709 466871580 603704573 865638315 868465537 981924879 318255936 899162962 173599646 613420959 933428219 414685224 407518361 582256857 521486928 337171069 599038105 178139252 390848288 552358904 538545263 930340632 292125540 785442043 766163959 202731635 123508673 558892199 167421347 518649167 816174397 989394417 332162772 971607385 928859216 419504653 899617247 368810155 422494861 145361492 702085401 213495857 843438044 218027512 497053125 467782639 844804861 295910391 207029938 163976233 535630508 749606465 625537168 581076176 483989133 102703840 540171258 332159911 137788370 788729049 908935808 540815447 680056650 624316336 142542628 559851573 959548376 957480844 305526139 816520566 757656670 891955595 313017245 232851463 160307123 248229512 680038428 912580943 374769447 967584240 112529572 716955408 602255776 867052565 366958241 666389551 222059378 766700465 752963050 322927898 431231499 271279793 675111445 672286673 515271670 800459504 398104707 436850570 977329385 227608848 817833618 276186768 862840904 834808456 534464437 883744768 588073670 939206643 186450530 713610126 669521021 965462965 929852678 572837293 883436961 140758450 590629335 380283744 662833566 907401887 462396524 893293234 385219570 494906191 643791680 594836334 662333648 663726669 625044578 358985152 498309877 593045765 391912798 499314236 423911758 556315741 467085022 837849786 277632021 293873993 302302705 116332589 568284393 303600892 359974077 531550256 427557207 520154348 815277386 207108654 721640012 890189801 899076499 925348439 347680506 629016907 787060400 587873884 433723929 221647883 731115954 360808210 263753224 270979074 126740486 455102302 271159853 584250003 111780375 271015647 960948197 239130463 244367873 114802543 396236653 684264779 834001259 736319030 679060508 403764038 924327450 836265283 224319374 828344746 173569885 641738931 830258655 299294699 667759599 339940141 709980735 583276548 634395643 496428927 890170416 588594269 911609608 637977104 729543808 530698696 218558175 412206217 478161549 879415890 950600636 562896795 739026317 346832375 352915266 990274925 434342694 945433937 362400265 759309151 920321215 895281354 573025522 436790160 697473142 170010074 610269641 292596801 217013002 940647216 479525082 409189891 919591766 108371868 196777159 541894444 860543320 208745562 238624255 751028370 417658753 914842203 910668600 726829941 958909094 833089195 525185785 523141236 523229395 478467724 889699690 290136095 482057372 123516746 302137697 360159700 620450238 833243531 681103056 643757777 227949046 638895320 769606636 315591143 708817401 826793899 580887202 670527757 672865311 467102170 447256313 940551505 347382443 628499619 136969808 194384308 135141152 609760978 963173872 829975141 330463799 327237543 813012991 362911408 870326466 568856883 314268712 655751603 561497891 439248106 553449527 334971728 301391280 462819749 140182607 996023334 614989985 169694561 627738917 594571486 790286269 987007858 948223694 543994426 993310140 255363773 599470540 792922419 332065988 420291727 332336989 364219212 216620557 178237017 700562845 905237743 401093335 496921853 143450057 164773089 941733668 664338232 842502749 886573675 364237121 717794224 342705812 427439468 542959516 473967226 837408915 441770780 545259421 913784799 642404375 793730382 566134443 909137350 779246928 638950659 586004622 502692861 708849962 225191005 775271390 606818009 844406438 643117814 529143016 841950121 370805991 693265773 540408005 267241550 880420230 262459009 455315814 612876550 858807693 206662004 396353326 653821917 494041268 217371894 863856052 425819880 773668978 970171044 888112818 913173738 735896699 763120676 710195448 818812729 633116486 308594717 467894060 722254372 437303986 773396074 986188453 501809842 300746027 108228274 409450551 824790664 836103126 523464580 956357721 125042486 358954747 789289862 540864732 639852948 246685838 526725825 506667898 513038162 959514267 848328443 677207935 798602306 618441439 476415698 779683586 165251698 539472031 848644331 644184998 163079897 302543906 913190064 519534870 306519123 292087495 762131263 845629025 913510553 850720110 252230441 177417345 520278468 859355993 805218290 154497307 859291478 763645541 159684018 245162961 115616445 855974939 692622804 852182597 739181703 983514308 510698955 415403657 861167446 752711527 255755339 916925166 249939289 392144721 749169393 174378802 353967902 948243090 761875678 331084820 115042015 771759599 399170541 197558639 158526041 501199131 131294942 603296633 171143490 533096108 420612401 841369667 221861336 404458312 665837838 728330022 221883905 342316991 312019759 944631825 740162272 701491586 704411165 796941923 348729013 478696758 556718783 960811982 479164443 630490785 609231619 660923726 834958901 426537100 890334981 885955877 113948861 497043696 940167351 244299341 263918167 604990253 218922866 931643064 760425875 478902961 868119887 963755661 649550414 862883570 974172996 499340976 366006450 627678127 125111609 857183234 497082163 583034072 896889111 404676926 815569647 209002780 158528591 653106381 877169567 864456130 248566569 229759025 770637428 116292484 289938479 673346809 143093807 895230244 739421030 379184599 786121328 200416306 818391982 604608841 128575278 319415150 873092601 627528228 793126737 923809069 801578460 980122640 178777288 866802375 912298265 278139314 782196195 874214058 673395084 126814975 989100214 470328328 889296811 478456813 178930778 724595776 650605171 134269465 413299174 272517042 742553735 235299793 867926842 484782649 711205644 520196097 447500815 780548673 433361819 307394472 906767029 781501068 526649250 875990703 407583914 472574062 845415580 289702177 312745755 899818104 538328709 515098223 416314911 882296568 130910803 928349071 190180332 337879324 327839599 277492135 376293732 467904987 728898372 220634367 168565961 219970438 768308083 805573464 909268779 309467525 421142453 276147691 422635471 618120564 995553227 208946069 107430298 767192121 270517382 439215580 247713396 875092027 204544632 630418129 362447658 751275170 572690591 419991408 400351138 725416548 242032994 781284617 457717136 974094039 342963194 431000066 967395847 216295332 941990932 472845328 740084393 377782786 970351392 198439232 241337525 436458491 173871375 270317322 562222557 526453303 723938203 200103588 341492609 190400794 919398368 744721025 507767722 762703156 160988747 664930077 210774991 156446130 622706567 956863962 513555492 396071849 872456711 369386763 857082769 162594076 812023890 140936788 202639749 825310110 481071462 190860645 838783379 788154807 136932492 579959893 284744442 652085929 822130751 693778552 812217195 373729340 904431301 276317727 254362970 709979536 515220620 314053457 892608746 709379989 728642626 235142325 236787445 736034121 706067382 197531555 388900353 362491988 241708225 654810564 329415151 824350112 485163904 464490182 181085574 952777811 282341359 800208474 738136952 719203252 559343189 130780678 452319602 193662608 457252256 302151682 609880517 860784698 416169603 803731525 443757282 501842846 239917821 405578306 666128638 551813901 488541704 748903097 452028756 241352822 725963229 445491994 186678492 827022157 397106646 238875326 891282781 110964688 647664580 372113497 519968290 257702895 106651343 252995213 658269419 546693633 284216591 846957309 671392335 404526425 399405447 382703108 405282927 354890592 816439202 878066028 296607430 812331920 926036480 102402380 982798222 405332114 107467447 817366191 593414706 298999092 475300310 763622732 570095855 918817517 367903742 681344650 951139538 458156502 605428995 303885196 355027275 307875657 144193442 514932747 231267585 848131313 217977090 349629841 212469985 313333843 400070304 755158708 767729640 828484656 330028412 748428680 153604786 266977972 229428449 225302011 376085453 972223144 458911427 221212264 151383636 611688961 521897605 266886122 996386140 849755855 857040903 102905745 443259141 293692895 167249762 123089517 461065661 440228591 352929951 762230266 122502134 496060735 285133985 839701011 454649658 621414614 125797729 701362094 438062015 883804199 880717751 244572890 410344429 549924293 611425283 438072637 174051820 538244546 862254026 941573688 823713549 631814958 575602533 815287927 354435377 643734628 454702581 380597328 554162005 485171025 847282405 464319476 599652850 123671381 629877703 365543758 927341493 722376408 298239134 444672932 606473937 314813560 333193050 199034136 666557361 341583025 623740085 325002095 446847936 321608999 874948926 986140720 958647779 675677144 576946851 745480798 494115393 914587944 826419902 900800338 100401462 907929299 534018882 853478992 951825662 212991978 166134942 248237101 659523038 691783018 863115618 982939699 451029887 604437345 543816973 822979199 490675919 575259610 633282490 558774025 895456081 602390877 107301987 507262419 513402737 520638794 820492909 349197805 416451292 940178444 590227819 428234031 660499742 986664350 462279124 219364378 318122264 926042657 284801232 893613540 694860678 538476482 438858682 404434282 772037754 122059153 191153581 907546434 572166737 552338279 886014376 550098878 807089001 390866551 265935929 847902520 652021920 299817433 565261866 201246390 619423642 693465878 646671550 737122746 573969502 194414447 156373260 907445483 855360456 722710527 218331183 944650945 139969705 436019626 464740544 760204847 328631761 791598232 460487631 986159531 620678345 226905738 647062344 948115125 986545176 970469403 365708767 426052405 809829725 637278003 290090215 122323109 185219222 635993197 214508585 798253945 992910744 405301419 471064247 565899563 612445483 176345302 244865427 759033604 570531187 582677324 926132798 584497989 340929565 116760859 952403021 905371586 486674958 797725159 674691271 435416080 248096129 739935824 489312776 613579511 793075878 735917484 776710708 158056352 103761682 262106380 794481815 388743729 710793968 608299665 851309173 708902640 725850333 965590946 680443681 493145563 252631913 139041617 452520351 171463947 146598475 166432372 578693700 239398711 200496759 849209753 170092411 216716500 537794455 120247727 215627023 169961167 241026099 448978731 958681933 884146104 686346366 135683556 885096664 751600205 999005083 738633367 882159599 260867598 280368850 833795771 133808169 782485676 828678364 956991003 725760603 656043323 225798409 882829578 140396470 316772801 353835096 875217033 637461378 875097640 584273730 852587240 894441891 131647307 789551838 770689612 706048632 179925058 120192937 723940011 121535447 262750147 491060412 938463893 617104048 768959557 615487168 548270158 350667290 533348680 959316382 557649276 993921740 520142309 291497169 840626159 567893198 910814660 659372483 497890701 556195279 154438577 478417184 394864386 444587925 556585963 658833382 699612784 486614888 783143862 630129103 986485241 896916107 996460810 795091134 160368951 124038701 868191042 759770729 487614710 886629019 246955243 794596419 635109216 510187053 929328099 903621757 620879709 444210566 972145208 490372108 620548096 908396756 193252246 623431385 730463440 172851667 849640662 230046864 362612433 284353502 677105827 113361806 528056247 964775048 193192304 305976341 146259471 994681616 573080285 408519361 473436745 672044296 722123661 331395600 745282578 974611302 973130006 982159503 239988318 903336091 526469502 312399784 682199936 408531260 896602457 104000593 296967712 601951358 125766851 782014051 741772542 791701161 150834285 117084798 277159765 128505601 212576314 676363256 121519564 956040688 813653217 845433852 181362094 302416247 108770435 362495907 701459710 956724345 707116988 151954525 762022541 135665227 309465632 361695217 518125498 542099579 375322026 191792312 520895164 968119374 626843787 396506211 915839422 794218750 683929112 342604687 889204706 666349387 982240709 798155148 311153227 479002147 386014364 849264727 255652617 658952769 629609742 260372345 399591071 241593973 957997233 389934758 535369717 942126078 106032968 415254273 988502584 557311632 752155194 147185565 732428140 706815411 912015346 639838881 770417847 386570164 567198635 748937777 393324115 408014836 684537311 783247562 338230774 479006872 619370824 496927374 651239978 416551044 180949238 992522069 216224532 154707741 673383420 929197846 722918582 498915935 208765204 726184060 226539596 229748260 715624986 982513933 628865333 689090695 423745928 775209294 382474402 559837650 401788566 729018062 147081889 572111656 713153740 474907715 354307938 102507197 607575390 637200054 778611473 592168698 365558013 861482693 962780587 436330690 590083954 725265938 879414151 208970964 342926211 741457249 374416412 483505052 714907652 302575601 943985082 585268965 927762141 925263377 855347752 526462965 174546966 286129664 813141584 373791333 237709497 490006297 168517454 988107789 191697545 289532552 635329497 806688212 362539908 242248476 787796122 396655487 275382193 589542113 760308937 867805814 158250679 297731732 564089882 349618856 767679417 942263960 868857977 178702676 542300335 632105243 389256934 353682823 645508364 510563727 198049275 508202205 728592163 769654963 285775378 990252268 359369490 320498700 476906638 445731180 934212199 781201242 281975618 481996096 896430761 841292776 930516642 782032525 253892538 983673084 358993641 926747047 968088195 226482255 235205223 524870172 422993268 881880707 153164607 784540412 404607784 317269078 261099480 722174773 454881077 619858740 541254786 771762895 999439071 601894473 613822417 188948788 980055068 602127748 333139685 828790219 989870286 884918552 812421982 205031328 424482329 268348147 739050600 538490976 278299658 776375376 947379732 163230517 929724294 262885422 886684153 738092726 564646470 711617976 770970656 732977790 756478778 277279079 191673694 701537925 984316319 632556944 813420361 327021587 363371718 364816876 496773532 811563491 172687940 540181837 679885651 897255750 894791644 958864200 703313641 739719008 909027216 328910776 477790738 406866333 981667161 300563215 245953651 660169449 597426187 722849800 135071350 429750939 597466531 964956958 835119520 604451937 946658579 659609399 346148762 643277915 405571575 973454694 201751491 967461909 404048965 771428800 314795036 746455869 308053015 315243794 958808260 433655740 755646221 662138030 551589680 340066226 762123691 643155442 446253555 372427473 351152251 657016856 519045389 700048145 179699992 849213070 801511285 383113666 979569693 342165989 268053150 156306100 379879629 912713117 520536078 435729992 193877002 678658324 178982124 990753628 387689259 813446040 664260655 366937059 618958194 785299740 694799581 799005265 912722179 527721309 457104676 209214209 256720981 185061628 500079010 764642475 168246686 744594951 833642301 532465317 865613057 246964403 674804277 787954663 479208913 123571037 690726880 481040657 898811524 806263773 120751902 532253983 302049212 899400046 439896930 919158140 354124965 827238108 244613357 136753485 400648416 856448044 812311928 739080882 697827499 301621023 427116610 170320397 214320843 874984151 999774058 510010746 316169417 311721117 179884109 326147409 823488071 758807591 618631842 185678150 296185944 362718797 679374203 553186144 364918846 143163337 299903211 294098344 269023859 548260697 106762905 678066584 883374087 170458435 417882246 707027950 948651993 588289475 968785770 580495366 482999074 678992249 919247058 524802342 474837490 820605806 982608886 733971028 962834851 117735886 407428260 863251395 138198846 365750620 243563206 300421545 234660237 343631795 297104406 999930039 913792923 188213274 381364418 993634113 285603799 204787620 320980934 340947707 800951331 752220294 485579779 230395433 288975143 132286261 447156638 587565803 808742854 339257066 395915947 205079791 193325077 964089632 164564214 567078114 322860247 370988193 133837603 865560395 392313659 175010331 812031302 671088641 288525284 235706221 646653576 305646156 346527671 408310720 823608528 269055558 349040552 223514669 998739224 330496772 158401536 702208675 257324458 320965546 890283220 317421227 293053409 303805129 160615039 697188375 249324160 934920162 909281554 202763586 574995154 603575540 210889697 297758099 530550093 919388245 808377073 226963353 465426265 296167422 215419303 413091521 240765489 584070099 501714296 994271913 107002646 975591184 194813050 248769457 133586419 438024381 353458267 339891925 174902432 944243978 329590354 229911871 341071766 121051287 414234264 121918750 849756498 375292373 676864360 853806865 775945670 888842441 734147130 946070307 624205621 340621973 177931799 858140267 950183761 275016287 860715686 310496851 414400751 645465102 804591712 469228110 439567378 993099479 466752052 539940561 324077276 724509915 187539461 392816089 662001355 835510859 828265656 720929056 817781280 887366093 136585842 470195315 294660337 861834963 654860739 704418758 864496891 319620637 710186886 804882438 874452435 100268383 302389445 578576144 924121707 138781244 728010805 122293000 775843184 802564562 779048029 779349065 489623898 517466319 611147470 289599053 335342758 780101281 316841295 219628112 814633766 730078297 741830118 898855574 874858365 648820069 780266369 345261288 687451746 963713720 493525615 146267308 116476918 520178838 348363557 372732691 170988655 674206510 653808641 159184675 731163941 373654193 567597822 269627574 795376733 966617195 713860956 643479379 178642742 563581234 143494288 413834369 714236620 130134178 523748926 481887199 786421438 558438499 464983117 837051170 934347170 614442427 695662392 230301296 807855538 239476099 639514647 489550837 866101002 841669949 294800743 913709299 354686738 167408488 566936762 492281440 455401924 436129769 301990670 456968587 877794221 490367864 328705273 523403878 595262582 442339017 269347848 945977266 491725984 859299798 779664069 886161285 830408370 249686981 199009270 728069125 219901386 689117515 664763950 439130109 433142071 948058802 807935210 732119408 851767064 951577873 707612965 276690751 548505555 676457008 571300360 760904662 419575769 431161880 453647064 117550080 773319928 390329107 456375188 137029212 718212560 581497084 516115964 751978767 939298401 730822478 595448210 461196812 129117914 702436203 621845938 337217057 334468953 770477323 444292460 467493829 965153876 549572742 230631487 427311403 410791529 871328350 974000616 349787057 807843876 617885004 245053916 973410874 131012129 655216390 435182151 505343234 888190941 372253597 973211286 797507910 231378384 865197316 663403071 559735360 299881255 283375724 675574293 699113508 222490853 801493929 954768714 129003033 753682048 891090027 472402995 813997727 831225850 969246329 887796463 498335812 823990514 413102517 431670938 959904181 394591963 784122277 893458587 454140700 479343243 543458076 444953578 265405693 304071235 861076284 909208295 417963259 178632163 593151266 561249893 932157810 873546162 918323871 419595493 503353952 808768460 988127748 640029321 187137290 769707444 143197755 440241859 376246828 745513067 957665480 174866627 767955491 284600894 553209848 356744090 630602976 904928164 949819829 221515092 813835965 793936367 317660215 426328259 973603574 540503658 385910378 687118100 412534108 582296994 401710278 967918675 290159766 722590125 481404607 198530323 318372674 944046926 562960390 225459350 261996466 205646190 122756950 885546851 228102490 110375833 808037949 695703615 647231451 268525155 328339542 334662749 754100030 539672761 843974390 549069566 596100889 138146526 761645095 912962600 440246436 380857533 443090316 332930428 299324248 670553889 581073520 953539831 295256032 510153436 290392481 951003083 171968719 532511456 296216498 998958686 593427375 210972502 954888274 475962087 928318211 770505276 577944247 945975852 236889982 656963872 324827713 261500742 164735333 593723398 917022854 195955707 418206182 850664377 197602120 709431744 590241700 606539455 733720928 892789240 409166611 741226179 900963468 956856649 401424205 231535072 531133097 545062840 511041379 182622956 109605496 859521578 239093292 479497509 751662908 583409191 210875853 151879838 163761590 267787183 379784875 389198482 786232351 884799229 554878246 926057867 479982972 176390433 365450631 881423766 965358529 713371599 644206368 769536321 267076733 885181455 243113023 758822917 172503362 757884851 325973646 883981100 776957576 425502739 458085138 281875802 591316403 321723532 766319585 418607732 108675383 946055826 535956032 821900121 798049730 457410708 858915519 925180199 260592432 183220014 430214446 554247886 275963815 563574606 419751044 500919550 861370836 494730751 862369650 412441118 918168066 820651897 440589488 777198437 448323069 668906948 878449275 490832030 405797546 867097613 399421123 455131975 739764886 527692447 258360319 830865210 593045416 373555430 259935029 497748067 770272860 143621358 952148720 301779027 405357155 542702960 335952776 812366667 536112622 198301403 459917102 596828736 638536293 119712144 598320994 625759189 417006636 315499306 449683625 483043095 633579641 760865443 828867494 878440390 626546585 841867155 561196227 911691192 470889661 611052775 808257191 865190469 972312067 984254923 256856567 731301454 631572481 927364339 362788099 905674742 785887383 821438724 605874438 388188562 579784487 909497620 390058543 455337487 633386493 366314057 396333510 848831290 534991555 537340743 807474116 563089966 440133967 939399823 179895519 199864293 949921391 997828489 431736625 135946900 654483909 674260263 708412990 415269990 849177473 661575731 854915411 551534642 444368290 527068310 751784943 188385498 292443464 254754119 851400154 815200967 492688685 635799773 705926551 729280290 715190842 883362926 392514289 466450904 866968245 782275196 507296696 230556495 970961240 300825808 198648443 539369895 163880615 265065399 170220174 884795811 205627725 179596099 967133710 523023925 909399899 562134612 909191775 857009749 624182631 751312775 159703812 711526727 882724149 149450997 658092490 787629417 849766419 711291728 105508893 457234389 194683930 699283965 502905938 132468071 372382790 823178175 555912755 122372285 839564452 762069357 486971741 299600978 861357453 851464571 607977197 264508509 895675775 774168201 520578757 471887299 139057828 658703432 519370045 958390119 450805916 971439125 374891447 172002064 357733999 688661709 376189770 854632205 127364097 346067849 537234624 303072097 197478414 394699749 388527627 158991923 753258484 707090890 291251313 689453632 475734510 669778404 337321375 570878832 934110064 919142563 470143119 323536468 845973396 122029283 491091347 206774222 657245122 828610144 454617051 812789232 628241837 301084032 783261656 947604818 285777843 622777201 164628763 540440461 906660834 367855566 646902459 254349843 361402842 610991905 322726573 899784704 688107662 563410919 578513423 323500758 180046464 240811559 324091156 369443118 347400031 465421649 303024533 561055907 206590354 958318415 191102719 339634681 164572464 145147477 491431498 606479762 150930440 445760888 718759323 205767926 656212102 147410652 163651583 378652288 986456554 175185300 699069982 266073882 399455122 789394230 424142349 412844755 298634739 565369457 696044526 411517716 975147764 698090245 692483272 992567786 365168459 328494764 284639432 464069744 306541964 333483253 218481624 968113827 537557868 833825096 136227631 181087927 782943937 887602739 196851491 945159608 941135241 148318867 967726772 887706352 330645968 626057443 600497308 424459112 730777170 360308148 212571508 544135285 323259445 536771655 924897657 883526008 919765640 419606163 165965328 632929996 241927770 174945564 757605195 583546131 210135738 567480105 694318240 641135812 877088267 856992910 399162373 448494760 957761848 765635771 522578935 772189940 608672497 226127624 759342691 922440514 600636750 208497452 141363497 495914610 348105877 644353544 769156310 648002606 344392273 457543753 682746166 411815788 828141702 132758026 206495894 453559457 861433964 262855482 127570759 366496489 657341038 128704246 830440201 946442361 313607400 616073265 752958700 895016797 632222532 525038181 777677463 442019361 185790624 140676238 697476820 956901114 203557493 915192805 802670388 996809850 863270486 125751341 977821641 948923745 379597293 110076348 593513540 796114753 408744251 803405635 344298817 583270573 308451744 509217788 582666951 732759907 686652471 292514323 446793783 709000976 260388966 780411604 585941777 174931703 386056004 927385370 665650790 739651184 133768576 480689504 642901207 275472079 590057746 371048528 106331003 709660103 666497476 379141046 776981783 207048586 112768500 294797228 922582176 800282508 656993466 541054276 210038504 324835267 522392159 890285163 928352894 725850350 314197258 287778238 543338995 812403703 226916344 359130886 492653963 323890852 467261560 100463477 344260189 255852990 338129666 600212184 989898896 342849892 906885209 975702988 947714696 415540867 319168107 498615597 522479205 608036148 574549160 764044564 659653809 138776093 722548324 845762057 910238172 880559207 667593164 708791055 188173989 120862414 351609442 716983556 877028257 901299437 600748887 987709701 425806334 980784196 634191160 255952724 953542397 581224383 220863025 567711544 234450253 598692194 335988134 667049265 252648479 694966323 871234854 915733167 280745702 514673954 710295181 591054394 949360164 875750352 885124416 531512561 355016227 483340865 736996714 810479538 368369269 616714907 974289032 779041489 364216528 666860995 945658220 714698139 551185141 897115957 908648601 687346779 986273520 899384938 413988382 921962794 592177776 438706683 806296330 210124478 751440447 737437025 660058922 112016085 299279670 310389858 438441397 809520716 533147264 347270769 432470199 647493701 623797662 583447503 563594392 933856609 938581992 365371620 167481516 840061759 649061296 916186947 727302814 448554784 839689814 820657690 107345419 935701406 409533607 908723043 547506418 175216644 435283773 308174314 446918955 440158432 579002648 714889469 883514256 446156830 381822465 751193745 692598849 343047101 892490755 424834504 696651533 908863777 389252686 608153819 661594444 929850300 993869037 726582944 821113255 216686515 388604795 845567198 164497965 360939813 368565857 428111199 277455213 106234835 725476223 623564134 507330013 704803106 177273164 878995628 812434599 719359078 234461776 672526601 356269765 372879612 564743518 458209903 460024143 819465300 620371254 755282703 940982199 720307607 755087128 733372201 662644437 134895990 371179068 476929253 924526766 471951408 552839430 471646466 313888251 679104642 800950307 663915838 921097327 657568946 799236617 429154399 470168046 422095915 114260843 576781068 538623924 976875300 639123844 541087617 901101385 380534511 871160519 843305017 642080595 580417933 942352414 732819379 980843109 366714219 366972656 470654733 833889760 606101893 839818610 630613350 208586332 974215327 898945364 593018532 872547622 565612338 975415994 324203396 885776193 371275742 838409209 133508824 595925021 223426696 533926900 889633887 566974779 401547465 214150948 144893767 336386375 967302493 776869596 745070098 525672616 816965799 105831809 669354715 720392928 603539083 705893600 730259676 153331807 189166987 604412319 626520868 237088116 701234452 396353449 630081676 231054854 375344720 585652547 325608945 118598253 229959156 740335338 163210800 872937507 888578615 760594054 881880957 314822799 377883384 306411033 488873573 339234408 640638414 360028191 892660328 385864974 599462519 327629794 529550464 878062170 955123421 181501150 210024898 459476492 259935761 973493047 606559315 292843423 489316529 894652422 144792699 596924895 125393776 874207374 450696219 671629598 891760437 283127162 497255826 740536838 621755957 677552244 970452689 579414489 950657529 181862044 757209643 244073499 552223322 969794819 526932614 227743152 811952636 325359005 454515104 320176990 824410844 794025227 635827205 879335174 931594213 145920411 960080949 852763358 941102229 550947226 298420316 793996003 242956961 921913049 450344945 411033588 755376925 309584315 530308575 251746830 650716865 126347033 742629710 424290819 648735711 573787875 707384008 207817548 715716858 926191595 727272185 452035332 322559801 554605156 516637017 848195308 534693459 700888435 483898409 276626903 324245160 408998300 367015486 645174724 942758841 211234347 131549298 669608734 217330086 146546505 289828161 428852843 825299955 257092625 838965177 396767034 455462205 606508178 475342594 483963661 217266362 708241384 171378233 931072119 739531954 633673003 804436317 676816573 534622703 664815101 704893205 595082557 414731964 915735611 556697856 300133067 998506270 649955338 688446863 130253141 476886330 359478180 498914475 121840224 661996303 459272921 355299682 213902499 176906748 949986860 456389051 666226405 209641748 586914917 908696792 667922146 436578650 642171772 295515166 806361167 333950028 278183978 858238111 618620471 500821702 173859977 655531679 652637386 404349995 495919247 374655587 409942396 230110752 436434889 498041723 893507159 811676086 514487057 752912077 484568078 961278104 454085554 685607724 646481890 520662831 876739023 657377181 955234793 910392202 980796894 674828976 106157908 298970487 681987628 604292864 861380779 243754934 580793519 211629240 681796143 873038965 860093681 220127284 305968824 595717894 465712528 575978444 652249690 996112456 515307425 359656755 674567048 603927947 246708027 553837434 380190837 855647605 249214384 744173735 500200723 446461414 156211318 698243750 710433250 696783734 595507638 720937605 486744764 220911541 311489697 615541149 649876836 123391727 270322784 745507881 933989970 588670338 256131738 660182106 704801353 478194226 400227806 827557185 592223332 518888376 443061122 170043150 412972023 524880698 629603255 303720657 511487714 238875083 930507891 496965912 400084767 378089456 155232567 148862961 581318443 122623985 400237831 365422681 325134084 103498573 303079317 935562660 829797928 628853878 955141623 190346617 300539693 695160611 252664575 745983686 298881393 159408978 891167401 209567647 653116004 225114109 519858838 117217358 382543339 707999681 405326826 454682788 636757140 965517310 368676988 889385089 819452012 723153704 368839586 113468874 584909165 710013193 191408123 348853199 681132558 798375434 564420834 501862859 788809723 868726175 876992228 677214764 414275894 558849188 271786909 868294489 677201998 127877056 745435322 749309956 358749358 436206693 808825244 540708785 922483965 880514169 879189204 713304232 808229736 703493637 929746878 751561115 786229651 952442216 142306314 453555974 519035997 666538907 945637689 664863469 936963817 203812851 604578140 444800740 644507402 808952846 348989964 564402751 130529668 608648772 960741448 688677967 138953879 766145710 675210824 689880387 669064750 333674912 435317316 993976162 729104045 227449386 381664422 937122496 509996348 423589686 158661802 735237937 540326686 311088403 765044946 948278771 767105450 156035535 165888457 667124245 207892291 141074277 423205144 710005821 711402616 487496293 587464515 877981745 991472934 779111118 176279482 843013238 300722915 616328659 401737042 801422014 169267193 482571731 538300079 618022503 768713248 137480495 493065000 409789760 564451159 207129409 695409768 346914780 868270659 551390662 332577543 326835564 263764163 962190333 603025975 472572382 939363059 707471280 119996520 950142698 526152620 840987250 823358060 764403779 319176313 243197482 889459180 780766160 454045665 767128929 533207096 584322154 301549941 637788336 883642920 903660200 137406622 481322781 173051603 254371996 410762752 732785241 829927592 697801032 369722564 570629196 902926565 106652950 300416211 907821739 803670435 370733823 251834907 922877596 351269424 624925687 195126746 588173966 622566113 144821518 950353775 874853709 534638880 471845287 197895924 857890821 195150432 559478432 897455613 463199273 840383221 225801261 238929170 115780120 153325640 540904484 532466601 655650900 306527394 578447880 142329867 984536196 450700643 440134032 999195762 101306687 219449435 758313285 114679547 769619270 697135630 957909538 266890967 786122556 889173012 688410754 911827617 340089087 637328560 631735938 619759124 774654551 610358977 755505858 359883757 395960417 491971161 886804333 167421337 356192329 656102262 115009704 709344470 610052359 527282090 413033332 821648590 459444703 568370818 220574329 424713000 954741868 291370448 362194569 203338689 223709010 494204006 683654650 453088736 156980639 640498459 504053661 419697918 231241403 457064750 453216103 255311394 330291216 127123597 813882381 564320142 307742959 921325686 380762252 248463328 695802145 379246734 297133836 262750511 870309867 428447352 281574445 538210521 191392562 439592724 713033495 176546962 421454436 577721508 488781244 838787119 671290019 821214939 319788070 473445178 510331371 218947980 449609508 914381579 110362108 217028184 640716914 387065314 774723758 859309822 111532800 497943094 722711989 284659958 861386970 335350956 696790502 920272229 112367975 771144052 443088361 513379885 647572619 530195810 895468845 249469652 569008888 828943245 675892584 940384643 210466801 900430741 476467423 338254786 395093892 521492582 519682413 890956500 841261325 416901412 122553901 198100591 819787546 554425372 404950427 722116390 150618325 923545283 642273485 574313888 992606772 468286480 679720093 481564082 960807858 747363609 787665550 586484209 724539177 955301709 655224575 584466581 917531866 421044078 187509069 265739908 140890229 643064928 701166768 131754601 946180066 716974856 988811447 178861963 580991693 645979670 917673895 898898994 706108489 290118271 645284195 745903100 461915851 465330632 973794520 448728664 354777034 549020037 975743765 659115829 926702172 479388258 655852541 576671910 376207143 265464630 302132398 805585423 523820703 236618941 223293218 118730770 957677870 255725818 240551322 798284679 865587863 599961247 501484870 117373531 177939693 144371851 608781576 936552821 942749713 256542757 853158474 846229610 134401495 175572436 832170785 398714544 938330165 975954830 240195673 122109790 521694572 227157799 613516408 941067247 221878608 591448120 933693238 626504329 314781020 270721598 880345560 965519262 206749868 621535661 881314808 789950894 879702543 411585114 674218355 743725345 216582137 894111330 701924275 323019941 948891189 184909877 347361350 689150290 997574962 370080029 624898132 564353597 211823413 393737478 321165198 601882882 410721516 116363293 536101459 951592697 280625343 595080368 640831098 746862939 583890771 164191640 770056565 368251744 413186278 673677646 451661831 168256592 697538487 957701894 988756560 999064511 864800414 636327201 230922346 858934711 995265464 834232392 395015939 880187630 844514419 414833940 914993446 695676349 709103698 495491555 868006186 555451524 115524704 448092109 363208783 709972206 206340509 914500901 864561979 280954201 925840015 514331720 639597367 437380323 160536603 446871794 835223765 803836472 422082134 719214231 401881403 537063838 533489345 961425550 962170743 383845387 887739990 277524510 365378068 109491826 359429763 953135068 710173052 212395143 849510274 587631627 707715029 336352640 108443896 141297624 162094226 814909590 289342907 149141323 359256159 115184284 469552673 796368296 672003011 494054220 155990918 922984755 453078611 700948573 508432233 980411474 465539939 958986093 516016120 432737225 297527686 136992113 235203610 249903720 661917848 329751348 391830539 501882555 439431717 362816958 880211509 113012212 590451298 695629478 136485652 549777791 883757911 758307855 229822605 307602426 953773156 365911252 847378310 545186007 760422892 355941013 276270293 418842285 162961209 453593780 986482658 136932444 128829518 219824535 639811541 772388085 127844323 966311824 850785808 352887506 921758369 104865963 430919382 687938157 696877131 872608407 265353102 902855179 561170633 161976551 221866835 619855273 185905028 227347169 253835458 831680292 479480818 147963919 112425249 483162480 284250578 923221794 427723176 901015032 645175064 596217426 170955021 348220346 824039501 342448942 802140816 963211939 994057989 232649333 607416296 527259318 928961061 780882657 312260444 450396585 311555699 956410234 854517431 912658639 379311378 734338027 370879632 284305575 563972676 308911140 574325623 395781466 246367428 369706359 978238606 307578653 759208692 792323719 623640781 296688140 767565992 458915599 841910006 215679830 919762801 756363097 875199271 786142526 594455768 390298289 440011964 939737177 869332760 570710255 745062994 644427404 299645629 115594758 441763458 661898504 103448677 306130063 217224108 468830014 904731709 780481435 831452618 385807226 482024882 366510955 735685297 241040980 831504497 555809188 321819366 734655430 461365065 311450101 485845388 785677459 839898539 364315389 551547789 314012819 167128033 154780613 359455837 716856709 530216394 496310933 748508286 515119389 534097290 321149640 483746372 866047450 306793882 971221928 207934315 572910531 935296715 814323106 263163667 956726404 213866401 329470083 673375349 889609088 462549218 677047759 795793423 873700933 794128529 417063344 700711171 691909953 104604805 970855820 138200159 522095199 821258291 295796282 390691450 935524122 482180394 572796734 302232615 460336908 536418074 206130777 134906352 504850022 528355212 854611632 519678829 826435241 379915825 897204557 313956192 507044149 401150492 909559374 362769354 333966593 306197460 815161267 395380918 595760874 782988215 362994615 737761772 278847321 517545433 429891057 203644027 829170930 212825088 835082749 648046351 988242137 904959164 984773485 177380224 735234572 355247142 807754379 328226273 893719879 873622085 761478486 614595820 115150174 653057582 797533410 293661187 712466479 818356904 812686212 433851113 431643008 197956224 266083654 847117094 567103467 488634482 922594619 393423621 886549360 191732947 633155585 193390740 454797974 980996706 861638957 730384830 841870648 241967506 634491408 947643337 311005964 752670842 490187291 417719971 624707866 291668204 679033624 783583815 444453354 557848872 504900084 355258774 651600081 335005810 627659161 924856407 630592690 954998233 886724944 818957430 205510542 328867061 765115910 667891139 374488421 356176418 468552401 399048441 563133863 194670151 843990734 385315307 198692270 735594419 345548626 810411706 111725758 395606236 622408108 589743114 640051709 461045917 572180203 160416557 411709207 461617695 994402090 536788897 723479639 377934938 502596444 861517768 265026332 384352607 175460591 339810249 332981445 420310534 653263942 610132380 255671964 324391742 297427773 862783322 997468877 325891802 733350336 289343266 246815499 394297385 168473571 275882907 615110245 320673577 725582150 763066142 773361168 515212142 808446837 860372486 485276041 968226091 507641825 682050978 219403214 825782114 257871203 778908848 815366601 374891363 293375483 718102250 217579617 502672768 757515306 276122535 341689434 180115519 952799704 196911265 430533317 647768265 144279772 898969000 241234514 744076366 204228771 873104283 511726643 779013012 516285431 941723469 355440021 716379471 849854299 987199643 557769044 193782301 397734975 914875086 783015397 194196576 863546187 148858717 347680787 455636368 831618356 597227870 982219328 116067793 404684017 750490697 584350356 234861412 763408116 909444829 165748262 885270036 506223796 336945062 389971593 923184644 208890725 609008699 840877199 626101070 714262423 904007816 817215234 169734167 808959694 317938363 838572407 405951489 773479813 404983023 549298921 580073900 411191309 414787581 350945080 898740061 817159342 487056146 618989547 847783101 926117860 603789601 653938839 706760379 321619192 146735204 671930469 427514821 433375101 449935467 718895195 115068123 954240633 749496036 959759301 306138299 684281886 119691990 292023981 385285630 369632928 347074403 524840346 555376411 626160765 765415860 444463915 398531435 377971559 983949778 478477543 283394834 793001267 422118924 876920931 407289014 184662184 593159429 345168782 728786922 825703266 512001774 299699452 399177014 123842506 963480879 909924361 782690149 979376946 853095988 378394131 540876617 122426266 983548076 229542142 232078976 647132846 831610215 260675099 943816005 396299826 557382438 962738319 947854010 900954174 636698135 759640918 808466328 407588334 768797335 399530425 677965607 673126943 836593195 396773808 134026861 894739409 362226115 124291286 914513659 932522171 472097185 817954804 786775047 898482913 356977935 219935434 517802910 375453901 912042676 432070354 143106606 817501806 277343213 412355668 221916148 591464701 235270527 127653209 491479613 934769909 883322108 346370087 172443414 342690679 553374720 637846671 338702867 536225819 940339777 756242598 209815929 590969413 899319766 224682074 152608846 605577150 320276316 889740629 476691233 937630586 980358571 668183640 936519050 415602271 157237670 425308371 715597864 910759466 370412080 141229029 245643045 736175245 489742753 456013176 821390505 466075565 637649802 891833941 636434179 557770408 560003676 186356013 840935663 866662800 693456910 847438659 389157218 587004328 510693080 897850458 461094162 404860592 321718669 704329091 510902344 970431692 157152608 829012251 957118119 450059066 800597168 662989823 446669538 867375545 123286449 812566604 892273658 712296355 753222552 435613881 266831910 155272307 289301994 451470487 378314182 923075950 808928119 247408120 518367780 704513180 681427225 201847541 405522979 361562947 698631522 468488103 514871396 517852313 618816110 243552271 918091169 460473023 284919717 409115020 197433490 238566927 918678433 996046341 583239575 643551491 752396136 524407683 508272915 714076746 191899692 674353528 984806060 992147922 836106467 350168528 167746347 433401936 939948129 751484706 160336363 910437358 170019790 635905715 450353084 909520429 108819184 398991547 145905465 785468038 997371367 963095546 873668710 732314710 118379202 929777803 397551941 690575248 564955079 185297268 345569655 982772550 340933784 586908804 183022365 802207828 416884101 887448814 139302349 967582321 865235263 216443594 780212668 515858401 319822774 811802048 523197318 810308195 611313307 947550115 462129042 563042486 831700094 483127100 957420260 778433890 990313298 600928355 296570122 118525743 186895688 554655087 298212406 632016464 981904191 705209899 882115743 653069718 113893187 521284364 715599098 136009055 927171156 889054687 550525346 340755135 260238383 808100371 442133509 682126386 405734780 552574423 618948890 154641875 685043229 952716651 924905412 993765619 884155399 507458800 641612288 132283427 590741744 763874698 925546286 507750931 884969951 895724100 401408667 452498086 190016728 600522108 225290504 429776054 391714842 326427799 469203128 687627612 782357860 285804815 112020980 952729338 439720847 804169429 930150284 817486481 443758318 900796158 952900583 755156327 637414297 571721811 363234801 874813536 169706779 345079785 522162176 797438801 622588800 879439341 846025706 296684866 260610021 450473378 601876124 394584942 401934514 886921164 556383306 350175209 103975894 734106125 706816166 144804654 839784816 887687843 132938264 486667898 444647109 606685283 647312860 391562138 488281350 215752946 151565688 372798305 163933626 247023554 186597607 447226419 905889529 690300769 389711731 442392790 543541452 703429730 832515731 135709562 597552865 979959664 593355215 634154872 394712402 223551018 887260337 269215464 706740691 201640423 826704193 610945673 574681983 525964058 470047167 717492552 284092130 530955107 635200558 941234698 402279009 230006107 526388834 897533203 135945459 605703787 588170309 610317732 809036281 971316322 159845170 777513725 582361511 528493183 443382002 427238931 975297421 527410458 851338276 273494725 636793125 740557116 557732579 219396325 269836577 757828949 563747641 473163758 761224118 889543731 737509668 442962184 899083072 646472812 972991314 517690528 130108823 546816303 257575440 539379426 620477736 499791880 965293667 300612820 885652026 522744484 239491293 184195484 737687611 500838288 888818986 111825293 428230013 178771442 616403920 235078289 125703372 270239292 459637026 646674344 428322744 423094110 527615782 196014983 449135064 936281077 856463976 117094003 353502801 480355428 622035845 106384498 959813490 490502938 634046691 769571295 130832915 668672493 624324732 164970570 770340424 446807640 375107384 141959960 718436302 628467511 866569169 271572422 715252585 176136219 737559074 885164907 669882723 596379942 477804307 893991242 879398404 369791571 482505721 736404711 419743461 130975986 164565474 160535743 331503774 402578521 463598874 175922699 224302392 930829038 461091342 645059531 786816625 853805348 684697616 938639170 625788115 503737829 595080502 493143879 174313639 958239689 653599373 502998712 480626917 558855738 340113580 873869836 630457628 759336193 969533044 863806237 120153610 899248410 727252569 200832641 798442170 958861041 409312278 846085732 333027703 578167111 510369530 903988329 582076439 462871420 338527808 835079192 986317156 593701004 570536321 400391472 920858596 212693474 498925189 678549409 536513727 972275786 806499526 872811075 667156055 342643012 934956215 233893661 823282179 660151680 854542428 320296649 569603034 523439996 754564364 376973892 209472581 562952292 466950232 997701430 877382763 364682384 755793697 923946748 826626813 988952920 684747458 589683324 688532512 954080770 368116855 274824785 693061271 152936864 979567508 542891897 539086180 118741552 791645847 864887143 638243956 364373704 230913632 171726908 194076599 353626136 848241699 402125327 159837399 992460785 507545727 207463060 360296622 270420906 243565903 379165237 675742422 517930940 663011810 722505536 250243344 264129312 144373714 575413093 942459206 515597884 703266970 910561596 430762774 492605968 953137349 181581379 925506959 766651113 915297951 116232011 761159512 853424687 260516034 740831223 579877761 388208897 605223755 625109654 780356363 969700538 937335584 654888510 614343726 478370371 352875782 437602609 168691799 255262758 729862036 206209867 607586435 951300975 328241178 967416031 929146837 691278882 275840756 563727687 865991108 902632315 419090286 697050280 374985318 472804742 190446533 920074338 879330168 496011396 671257898 673234748 333641254 420839930 798795761 879765869 990921608 679804436 831277575 133146055 416131084 693693375 298347014 662124557 858412367 686838135 229701923 692046712 868337095 610892255 167376544 855886178 213741279 438173868 523469609 323382549 792221654 113877259 738477992 121379202 314599273 393581841 110272262 275271248 995680494 166148231 728468919 351708858 517928952 298005576 782095507 757918251 376049564 303683976 645322128 500889285 643621263 168807588 608457122 245021994 259864142 977736199 218692604 106845488 989840129 508596885 743037015 835349581 830826626 941055596 498119212 298821008 215938060 741777832 324485215 258721471 238590744 478007995 315816272 404238207 304138571 867408255 987788921 550464862 278001215 938312679 815826992 272797341 242314519 612189296 873484494 788081133 750623335 442475580 260448948 350758611 379272453 857092258 295564081 514889761 300335606 397648320 828091827 664657583 227922317 789823657 291739409 198451842 594907624 820280667 573198745 349299509 423352323 973910564 543378017 379879557 267190666 799658684 582494773 256873947 358405206 858412036 467019642 248470334 699665867 479723266 314539291 702093963 198471914 143431411 575247452 555399815 529645382 928839685 811434739 959666210 408990103 910254854 961958307 914064507 641871967 762990693 775095110 717620899 712633153 539232463 714335705 811322532 120275880 404883728 437315361 521160408 538571284 110033350 238965675 297049421 627169311 535715163 543863658 892103582 371605672 901299812 496091093 551675944 455038432 542850582 426450381 363589749 535584193 568939332 851100049 736875669 234616169 351518228 917298563 715523794 563046400 327989789 983939663 581352570 295548599 268012932 838660808 491835645 475612492 300773407 870079925 425447815 218016259 689800495 237177560 865353586 266023495 247833438 841199893 986653521 490229596 808728037 412044427 929041947 736571102 971988712 658570537 897249221 471799516 415801648 807664507 831531508 264111432 944872428 155732325 576919683 539874166 166088305 798043218 868932196 213206804 529845540 619219173 222968639 272344255 529757559 674034796 743356765 987093844 233541899 937084403 386047204 450068198 569035813 564284487 779887273 311279100 995068882 693274921 416711195 633899290 668246606 994285152 448235012 100678735 508767549 689981818 526621023 757423413 892233241 118599296 921447027 687627622 842781763 739537438 980110808 982658840 504321655 314220439 627238818 643122995 601068928 800299410 383757241 533682003 245431127 317564176 850627840 857781466 529961936 987200525 354572826 342987667 547054436 681472901 587261862 453988520 392953972 998831032 309584996 208126450 786128169 341514514 857314256 376691543 353042866 206004633 214320315 918985702 998850239 290234866 286606541 284382433 917362346 681103536 278088973 548628225 234677743 227266241 632455302 893966350 117330054 449009560 986149438 319252305 621818954 114874137 275021856 518706082 149247715 774971331 216835701 436869131 313862616 122114299 814209489 399634498 577100664 902134333 725463432 866825121 357682031 426995059 590132129 308738549 473422462 457393040 480481622 608032541 294019788 746243326 200194673 491301636 396031950 823265836 428426944 301237799 704757240 765676965 644659775 190783644 304758706 237567616 230707020 257951772 681688714 185250552 517178937 822998704 777281989 807966996 338632339 947505648 158222786 224181152 948678093 965002167 324259261 905902644 989580439 794176052 294654982 952049239 662285869 155194245 603689656 973220148 275641385 749284664 861311718 628544932 559915350 982217523 323642985 965615336 196721369 696728718 832972229 815665238 338421774 476055813 370207497 264666045 994443023 314352352 663151249 969801966 162881045 445738312 712324447 192209688 136035843 641361887 772506244 429654980 475661251 416115632 311256235 752757429 882682908 325813896 687631880 510408586 732999856 299947617 960843227 550799612 856085392 644597049 694520011 930852710 625826066 745425899 659121356 569911484 376393384 360597399 661554149 639917865 809392297 385233630 311675614 452449273 978707265 652206940 254630007 206789216 531028194 184348665 198446463 254679412 129768480 735995772 602248087 924990509 910472605 624183058 986234291 156841526 412885403 238619620 199420805 713685827 517007858 630036040 838876725 503337373 145352443 284149487 780421603 214960814 200805251 877918590 249506935 265842604 487068924 590923293 462315774 747922273 295664692 233425385 915369444 597023674 256245027 663466260 540552776 331574556 383707142 180744462 471314525 213444644 375922267 268841707 214067586 979796676 963640126 374897906 956505479 767668714 965715892 194778193 613438500 844954507 754043360 793711220 352214686 252712814 919937860 449310295 813433951 962819046 817630200 647463490 960336965 250389737 696922625 387312173 957742238 455043840 679074217 707744775 257542623 634553896 672026941 113722731 821839764 164558902 946218088 776842323 258843037 361830991 129857307 279986476 156440882 327052646 322845774 860761458 787507666 495483664 832317029 885302932 872830622 730414481 731054082 463893535 709299021 838630008 747697898 598482476 188795098 200312145 516080039 880636291 112006945 734810625 465010005 293196180 744643919 472139473 169294977 795788338 297765726 419332541 267606198 239736249 355611940 471584807 747504376 234774278 630630984 854448520 699489764 878549086 424030256 467032749 454864861 804594226 132810770 437082689 349559283 327565086 209151576 515378099 859942609 531596268 931440236 280285915 103103098 154877310 703810153 720694811 245324869 467888181 148246098 372511231 350119486 287998734 294889493 698146158 569496781 519638026 225027927 948534811 803283149 736383974 793740696 720792713 865127894 466569018 189413367 750000536 408843990 208493411 205583102 189455907 159948533 401738349 563763046 557739900 689061263 576723919 663665015 120515738 396034217 984599228 546164228 838212059 687392770 768075435 984074250 621424752 996770385 339125225 149012641 850914742 101905745 536587472 845964887 747614324 603113801 433399469 791824942 928942040 654500326 322623832 335669023 700105671 998952879 190345021 368283973 812535155 181861108 310227862 895936031 179588688 588592631 284495559 768855881 204442856 620487005 193683929 890051778 979865191 656358851 626122104 134546306 971249654 138719491 381506934 951074020 271498189 630160339 113970737 923206786 739031690 373093383 541485681 723103532 481195298 115058464 141903731 517937974 210485611 703656136 507513140 660177611 446539117 365700761 738575203 797261624 682402323 265159871 886787358 138796326 583512438 643742298 839274385 288166547 138580289 453164820 837583684 291608688 747335215 366762805 849618452 395190273 364431743 220700926 912744415 886527219 166899477 503820486 763618574 818299719 261497553 122823963 450532348 305682736 853422529 846836887 118011207 667004980 869873542 242075929 899275615 309462475 297309040 524310984 422746787 788430219 526210507 604980078 107427963 214629893 618109678 699387011 166472440 868826353 754122245 424214645 831246484 143419531 327087653 339576411 386457134 272691580 739156011 863676172 726635124 312849751 250880662 896749742 696557861 319749884 502803123 590591133 623253612 822393900 964124805 305610836 743448544 599531916 668623951 189433132 673552405 299913554 341277350 277674002 760848751 629988787 518509936 148246439 132293405 130344802 601285005 709371381 366361487 388753890 405091983 282893428 252759320 650902735 435385496 392579206 942639594 217425863 685045151 611782922 687209525 608400876 984600698 797719745 195361049 154751698 943827904 680945383 860730973 384106103 429667894 786750308 162107684 277472369 308857848 534036311 249589358 449107226 237513753 625425246 830224358 817186828 135979233 822251513 149796887 612224738 642232407 709026649 884250029 300142724 948049515 993026389 586783291 801452353 114189249 149815244 620839528 213888077 368138271 658738185 331361563 959043204 404605912 238673714 172302547 276641310 453052816 593146216 260421735 616090079 753795360 436926280 970864845 718086435 590540862 685882178 634211122 606554301 981270203 578486686 583565085 471422036 538720176 841784675 302268247 208679691 726697781 634611275 847137783 196306595 880424792 893096221 591539936 546304483 150808406 848950496 562687254 772663563 751335754 236230478 778433433 377765546 551379396 763077946 256949894 660428414 527206910 815408195 809878351 441815626 172533633 511097088 299464340 622739598 376825302 477988034 491396153 798861756 297810063 589132853 147245297 613935506 103246451 760599102 790351960 585915724 576439898 876828384 831694045 778384596 377566434 408992156 926820953 413913841 978623429 266909130 347374633 788853031 473875462 778095355 582590531 134615777 911820275 578931009 331221651 233827606 416489433 938354213 425866598 339854714 353880819 776743807 350422720 688489991 130926847 947384224 790646518 812760337 805616528 715010556 447084873 187489664 330762465 463215987 773646556 877570344 623642164 966566059 435686561 830936140 852881144 112517502 367344466 194151339 706295607 223226965 196474041 498042856 764821847 387795280 472442584 696316821 816675619 216653467 837164861 688674822 636809705 398504264 595492151 173621061 358242612 293517090 143886012 153836685 484036124 812129349 240337386 664118823 140580686 323117586 461334537 201481243 249653154 512878380 916839463 585787223 141272458 463395206 573010960 825800250 907354039 306639033 870988794 221494439 104493313 824189554 380758149 198184559 986946673 444075392 398370238 837717343 319629390 135273065 340228212 581034361 388461269 205642186 621926929 426801264 482597329 440579139 283562994 777316066 582628751 465714312 663646104 689450378 156903479 259302711 572436697 611727197 629045767 921063592 227211978 347159602 381212407 912486297 852658451 183928193 833357784 735814830 760030784 220259638 566074851 817707483 892165625 172681865 649928241 229899292 417586325 355150277 971153105 531685814 530267567 420512896 867227965 941150121 827370517 978279291 410277273 384978545 412604788 840851648 237721688 254264121 916212166 462952927 734904973 844724098 647049040 898155235 631648895 874391617 256784236 383370261 488739213 649297934 798724308 743979162 726398671 664767074 406674521 534690237 253431879 143429260 847451998 855939677 114483443 362275234 610703044 845197429 988165559 646707541 615340905 106909291 210689836 329723031 542371780 387016072 798964966 587347301 660229150 643925836 515244377 439728908 385974140 827063764 344837182 373055208 700912467 823218994 309443688 814308326 748723933 127647882 971602376 763918175 655870986 338671651 153506313 511048835 234877401 457224922 500141281 147119130 501663117 158865326 545342644 527858299 149419452 253399218 762120945 977850867 595767339 483095324 982359408 582676889 610061972 947905253 749693164 736034404 662708479 847473353 694334338 806908350 868353451 662123473 665183325 525506156 406246041 253574659 850318908 467829123 565987660 494018782 760303796 322962970 646964927 698641934 318495877 652063858 609035492 301344452 123690286 948904960 146644562 479652629 860616138 551108081 905492809 298968794 209704046 310672175 914262449 533440324 418186768 703340693 147843711 800080950 360885195 861951858 133253304 635897873 684577369 536683057 879441100 737064141 299424744 636739000 870377092 275312103 829678750 871362862 770074305 316949990 664056468 640332934 362800892 148415379 615249889 145912410 324954777 164419587 580368008 536002950 178250667 804950822 251762873 900723430 756340908 877572413 315309071 806164733 293263594 884752657 559442021 709352931 234423580 618728782 856289766 636227917 384092227 679795252 937964336 384968169 353305634 189879618 362316629 575563862 325868194 937150109 497900958 936201371 325764484 850494338 342163997 766537405 874672235 940131794 339516839 324661042 664841089 254975122 189995031 669873697 371034997 505836996 335283783 387811605 758832625 629207535 185260559 554562638 164973480 745563660 545593420 749765427 361201041 359333389 329905890 619730620 609029116 319835483 113733416 614200020 881350489 182115631 253996719 965385163 559269781 905148220 679052177 515026090 706415946 226570844 260793428 363781913 732999929 492717252 297768351 697453093 176070734 674162316 596840610 161694209 758512694 906906569 994471177 883655325 770297459 286958261 937207257 424723604 209487245 482989502 299220612 198384879 720430381 111724951 976748182 636078917 908921491 866486765 640588545 982467870 249732882 329695450 182121612 199367132 540093507 619153441 395392759 412025481 682667568 642884759 279509658 533441284 154269226 274123669 787397665 847293406 346742608 507923560 195646288 903966341 892402246 432550947 954062443 332190411 734287275 321755477 522416207 415347725 246443601 994052621 116948757 709220144 709258489 672170903 872651566 700550454 186768203 947168552 429601753 577613166 371143613 305471690 606263020 779649228 782517220 107613566 736515615 491623637 179468618 754984428 691190455 252655050 880720659 860103183 772850750 901518808 981820991 924125929 660289656 390946080 286546474 214540560 947332089 440212028 229292924 347213802 438479236 131009607 206034998 590280643 735816866 334116459 764616183 212808027 855243497 429961737 378793278 928745118 645759153 182257564 298392460 780464101 748313815 348523534 986767432 151934306 882368701 837653447 167731357 928587465 297009428 938241676 492734713 666859721 968027511 228388996 211172874 856283556 337855610 456246863 258078884 778134510 551842567 119075553 349002267 928145492 980602844 509652006 298019542 119935158 806596812 821018627 893217672 814443257 789009314 964672345 584600913 960842038 869802872 168517754 549947087 753108668 953373160 572547208 638388790 484597835 735460763 374626326 899262155 993722611 500149056 560864330 742710406 334527134 765146271 446887606 377356222 169824353 222718864 606366578 453062099 113011336 826600366 390901030 816187272 229381638 271994188 199426848 330713236 639531689 792124561 609621877 611950636 479779349 136985829 557790084 485420010 622352836 562912533 549887415 561280901 735101894 231663802 297811925 803428702 913699835 152171303 135892895 180362393 528480251 765860110 881634364 196656954 223415723 437630940 463995836 391169461 782006724 919946623 296953636 405462822 288737413 671727940 455932611 219431102 279190583 266736516 795275740 851111093 792453816 383899256 855617459 360301116 557915738 957011303 647925201 462758390 770576489 237683180 545750837 158706028 438759628 342921370 668632474 234078667 109097627 273155536 651931437 760978689 497716781 666398880 197221981 876314637 945774687 505461968 588743934 312013692 128731876 702432826 184308450 129787314 203735728 735011398 546306036 438207207 162124416 804071644 758282167 120553665 172717865 872066049 852575038 421007635 526096064 167198598 761186716 552262059 324498648 531166206 606389254 335243119 969453351 245843645 148134219 425377117 953518621 282300736 499744033 300246342 209806805 490611036 566763340 473652148 710603961 293681815 281339893 274494762 571821304 644539188 171572295 636530929 543395451 506116493 273866213 371610078 970638489 201446551 551871156 118575275 551527421 701895716 170369936 390807297 981639739 772724767 362798116 251424203 700486094 959900934 457175272 173530376 445534779 258492666 222586753 456720932 749530845 254888268 589828051 370933649 100343559 406425210 877972083 517781227 868862475 149411698 240615381 275255874 763267203 890379945 459368925 664198233 579533943 871724624 491052667 390129608 389648895 800997942 130931006 118289329 694918834 589959927 789567495 516134904 671223756 241565158 267871327 866448158 770644417 238276633 444541644 332775821 286863471 445248682 685601449 437357571 543007129 331108198 890416511 281627774 947113065 610425982 825107555 556906405 348627930 225384005 888914006 792199245 469731185 617017030 835044770 248024597 692422445 659095382 490302929 307816568 703470808 345440826 424367091 365759777 274673819 290376366 891482638 364309555 521542241 950680474 688323149 550781073 116509275 292059101 515132401 365688237 835966867 513393996 901461182 448394585 792145988 509950255 986134215 357315439 144225523 849870718 545926120 230136168 226611841 777871302 171081178 552177556 856754940 127971607 264053481 351729724 349121880 761178052 976528441 160581565 819351148 747580995 548165948 582153817 240667947 506454230 642838852 732017121 134841964 713080959 284817397 840126608 662870987 987025502 296573169 206851624 405497885 529067304 848537596 471727243 241855050 764594352 890167768 831165250 786171559 358076161 875995410 504792291 866051913 722272724 134666886 529217854 217307264 625951202 636435964 294921722 541372196 955286420 408276400 107479096 582820962 525487802 661938398 605844964 882433310 963781642 430215696 323827674 750868460 656788394 906099041 757886273 614579454 858400373 758940740 764829036 635047263 695576419 119401306 895567028 280376305 700690573 375176623 372906134 498272311 226423224 626554663 108533074 578098772 411659625 357679843 761108351 652661778 771249286 884868892 750386968 552082697 884299358 215245096 737011891 921620848 561366702 425524027 754911540 124375905 808532308 270488606 486399691 858646550 595668469 523806798 978162948 495346727 497865984 977097362 516598788 793293146 522916143 654197968 235551815 538740052 741696951 634400160 907944492 801054726 132572464 857630976 327987379 562930883 814868878 168838915 942449803 914345069 309075179 905577489 705246721 812157953 575737280 460513157 519422507 465650826 809715666 977810591 140441070 898548855 754498229 943388285 879957303 808055631 422121675 187625734 561884548 893219604 626280288 569738971 716196804 225966061 723846288 508377530 863111105 935439808 394618437 118039907 821315206 120672989 134719467 412826454 100813991 920620808 308347750 273434571 147077736 237935469 489370106 116061388 398898012 941288149 315259770 655687737 253025584 681410653 138749558 992504169 576860280 560402050 174024604 421652071 505221720 525757921 277673250 354431731 322214250 260963563 518160011 328289282 612591787 564233766 559662294 877846571 202386901 919826632 299586775 737289284 942018487 213136243 200507652 806469250 123316103 643939430 389350478 917580489 111214259 778976709 317144923 802584706 570933231 997763327 633678398 408644695 388741765 331018922 889489722 686030393 115970512 228892996 510178755 541396648 709967598 311296086 552961578 459904865 794317168 320221771 591467737 562785863 522871229 536246622 350611587 699209029 586325162 357579511 922993162 461784855 445707040 307751958 253030615 908586904 427779096 635726607 646633428 875217988 396883501 944279503 319521449 657729578 972611625 783367845 319723558 960258782 172123320 243778302 220401128 545920785 133754400 235729199 264296701 518552281 198445592 715019810 823664194 932860008 743439838 977024505 939031226 120861700 552078921 503581032 208889299 565308838 934817795 606491161 201587681 506736503 336772798 545853254 809862664 814410462 280864310 883272611 649474666 351151716 733621808 373820308 829574066 622459860 943356376 907656891 861528706 436050222 303278305 496003382 929185779 926525014 104376243 411801634 541621305 894067823 430057403 678341018 417952627 682411357 374860834 327592303 226590548 437935486 392163740 826618192 772059687 435389712 498492258 473320594 788394541 185433323 727916785 491081752 906601258 557318420 458552538 213533531 468378977 741007882 461247593 317186782 243738344 604521497 509159655 789470530 593814397 381732931 198129961 106959383 102615205 489365449 383552459 888090901 640574436 404596721 948356050 209305613 470540464 417786001 462337168 897929664 721590892 484851589 612237455 803025838 945390374 570691539 318352914 459994920 564597282 314142951 296679813 969763564 572407720 248166922 602195656 146376475 117942021 587691397 178556540 481633515 515653574 375361026 150356200 283286127 243498577 312897215 182484811 685211012 532230370 986504494 861604335 568476136 380066505 381898132 213105717 774807143 379917017 274118397 968797134 917985781 756582206 191196613 428608994 246849246 690656632 392651274 785115656 478266930 472094290 285434870 618589120 483301625 687733352 782970642 263552919 652856080 721760555 849620818 195848283 871914456 650938302 398183078 743974054 302306660 997456046 941432836 672077836 457112322 526434548 224273899 339014617 484247350 880931480 360088048 736893863 652538786 480194392 417881558 831137140 414744090 834959042 933785426 959183529 464578645 939911875 424850955 840320546 125286551 829000918 575944206 800267985 387121820 733027169 704258468 364926217 136489031 786087126 795048094 983950767 695125438 953000691 874634492 174143621 756054627 901632076 876495440 639799874 578165659 861967122 748485663 894516162 494695556 794743019 209299115 785312197 172756777 987752315 700613774 237983057 469907212 609744179 395385997 952794187 663845304 388980050 210344282 993025993 467649802 929871284 468175046 906449134 503941237 424065051 576188169 640107776 576780109 910578677 863665514 947772621 469096808 101005454 406296543 274131617 589970913 639769943 819561434 232659446 591653991 285601960 542997529 707397031 552211527 628296961 543286252 990913187 690118767 818229291 203242460 739843823 436255075 563773740 205862309 350759493 956296577 317667782 568635727 756463067 471195099 646795964 572185854 718888180 943254251 886709988 650268355 754336550 309151924 853260123 631007056 149901018 401467553 774520818 297885346 705680524 635116955 264049469 827313848 348978699 721800566 411990631 356818282 242832072 412191389 349650031 502259892 962500964 611442140 475786040 883855292 798142519 250600221 820219270 780243330 104839305 352051592 125255891 294457912 658826403 421157042 764769928 526783440 203121172 285698341 520324625 396887246 938807969 309847558 371018781 810710723 153506864 621562657 330305086 185799340 151430550 986734244 766983741 206616490 139423874 710983053 720806421 273857051 804242704 550504406 448015843 451395563 198698027 809806773 917600161 685170632 710894930 514820296 709293546 320198681 364081484 639851560 242962007 778822441 161519123 326664223 327030217 435700266 243537272 152288827 453720251 126414963 533527312 202796616 116641184 722495094 736817715 575652990 839997310 617755977 440609813 648198515 255856986 180572629 140568123 193837185 624345000 972023593 831493756 199333111 500834141 943607089 123500803 602421526 156835681 563027770 461001363 364905866 147894195 371153203 542621168 658326321 786698288 425496203 442635902 966624067 935193308 216524799 275870596 110771318 402707549 668000649 421069274 912777929 975457549 280564875 432773780 143227280 589488348 155621462 270395102 558718424 165893168 622321596 111897985 942635833 352507555 773594517 990547690 152828518 175369367 529383887 737718246 891834840 868209838 775748823 515393804 754736434 991359462 191250313 704509049 963104934 392510852 281683798 169562927 735536109 199351122 600860223 815665216 216284328 979297992 867581912 731415748 221250528 241478854 511171413 152407286 541040986 244807150 263075987 562855545 836543464 563798248 431946167 462452827 575010400 846048821 952148511 854286704 884635040 713149233 461309828 239085098 689195079 528334115 941635030 259652743 437347834 269943518 731984633 369288603 838153213 425466692 796079852 891136644 324443498 624043031 197884448 410337450 722613000 846749480 425833182 941144967 592822757 912638499 662207023 887977434 861735353 609934864 804574517 664682376 324022582 661321385 555754544 335730364 554759047 977574056 994288585 428564480 954871448 951287440 104557976 781781299 983086334 691527525 716648825 838875607 468924015 524949752 526825024 446713335 950162978 750217408 146556521 846352966 348436520 973678281 614841750 100470024 225791508 813123332 867040476 456106391 550996025 779133689 617111900 469173456 558825691 923345637 125409634 967090549 126975535 455742604 368022057 411506335 590659592 663204745 453403103 262079331 332643811 706969033 918300157 292649142 478304769 517732169 443879829 787787112 494161012 757578272 689772333 463658049 206963142 286479988 424061425 373893890 860234635 566904935 813743079 190198509 678979879 236134474 358902934 780552064 351947472 133603064 655670086 672923453 707331735 456016015 477265135 139377683 710480099 641225363 456242578 430054438 542276734 290200629 516524373 512205611 698257488 402305247 739107094 462988075 543064597 399626462 359320581 653170064 242974301 115840915 668376253 337036510 721010957 480580691 183215596 167012273 776575137 155189182 670685600 393241996 945676520 906349501 904794292 121768731 757441706 796917165 552085169 161324076 966542968 674478822 369536528 401098655 267398671 805286533 404794055 560462119 557130679 978567716 808140786 114070410 218708524 574908699 776322531 818713616 147058225 516601354 174206225 392233671 830470099 396545305 620526793 887123462 350800831 124432536 546015173 775972694 764324189 932668546 989804624 998208278 449308582 785621939 785944764 855069518 496579131 747652277 853494318 172035378 340220243 276077203 284817886 365322067 450840583 355569424 648281597 720306701 897817660 406523722 728958086 870269110 306286474 648696136 211927787 715989418 229685371 938867162 558301365 745513570 316839822 619199527 560325857 202409362 458400493 927037473 674330701 303559010 787779230 700400629 155045478 909732118 482421071 448990617 402518251 558376670 478035125 544395852 219694801 550613819 397802045 828650784 506778218 490647360 169606804 101066219 956189776 573615193 111367505 601173055 855421984 146024189 431737277 426093977 302735532 529883689 116885769 474620892 345967698 212389266 921630355 471525369 831230576 336158054 927313933 709285927 397158829 892194249 910465734 972504137 605140746 981912489 963552633 139028071 239847915 605199485 811996519 465385546 101788944 721000491 458528802 846623756 764179945 917365496 788767214 440540197 531276068 617181659 693193475 883274892 281697018 423379678 688799313 552891647 297011698 961249805 242934358 703278491 452686777 187856320 628215744 588259101 123989055 467783294 409724996 638889094 560226777 267687510 863267495 900617889 585410876 248279432 665661355 701444622 446977247 110068730 199375894 823076878 326958309 660252379 490563167 328405711 728094183 859989323 884538908 446407044 421742029 885618784 712291390 895651864 137025784 505792879 405820711 437973996 957927312 745638360 325103591 995334754 696508129 514772358 233264544 358199801 331984542 594941930 706233686 458819237 993332801 935875330 302239259 333744079 977375477 455040395 691423471 179868443 275236283 781205298 122319184 456640595 440929433 536736598 152378248 111423092 378885348 948313561 274237700 804489875 623056898 457676307 852321509 143658340 486550673 541320369 159008536 186766065 663454188 481098597 536715504 249234394 637863890 499124089 645153309 549047417 755872728 659989673 234496969 997720095 383790822 995770668 260852454 158081238 170530111 724722050 884909650 455651380 497848661 392282152 558207691 751443829 227070535 953383288 273214213 965008768 974860146 458862723 588745405 893733997 732562380 918362932 441088577 853716308 762595657 259357320 556130863 647021644 510208302 137842890 261833800 423640694 575226117 200902610 376637142 231948147 547428535 120789042 503004532 598841029 199832823 475823397 649016521 290520097 385916270 943061884 766407616 644524245 112977353 343837056 517821294 721312536 368053415 965930368 882820898 241978496 749445293 251816882 910920058 680003526 969641140 508806233 236250273 225910376 764758587 413619344 367398659 382296375 616189875 645607528 242749098 284960667 613412001 212346570 960508223 815248614 225964611 718561615 526420875 781569458 774236149 436281116 367349455 489435623 855374765 256630645 139761030 724062936 232930665 406235855 483620865 502334781 172373788 896655160 122865199 603174101 268939467 938551458 220326773 647214743 714108083 653887185 945949905 439731543 925888701 209072555 108834901 873316258 667300293 598643774 875511193 118776052 491758117 505927024 484407541 647056639 896152880 566902434 882101545 540017585 285605277 459646831 623066449 173780092 291945147 674488807 785581947 213594376 359558660 148770201 785669632 544024677 188603463 125116047 197194171 198095979 190623240 560477691 816464101 255797259 772807809 488870548 673814272 196471124 967451601 850168699 317573155 932458095 768791235 654867341 431611182 770826973 121166045 504167295 326325037 358136868 142264337 469371530 579515905 137905417 703805381 509130164 446550525 344800242 674483527 380341288 749095718 209329694 255694630 912940950 848213693 546955931 702369988 883155369 898337831 219324351 844032798 587221019 923356411 245879464 459274411 169884593 323397093 654877292 864341236 397529716 942245674 685942690 943162047 598049320 621864118 682953430 503800117 108250371 268501426 630529323 235777877 712343794 123954763 930384361 426661895 461740595 716362314 656493255 570117585 747712508 560789793 966208335 596271632 976972598 976238204 953641357 174847740 663837495 459655407 157001296 273402845 941888904 642205572 197276382 782685563 577350284 343245346 686636462 674361925 795752539 502651990 662704026 953890206 371496461 222802671 698148645 801460225 822213972 473668064 392656431 853682880 278416123 234243866 931233300 274296492 238205422 571971430 625095495 219389531 769666122 598597864 367090746 666661521 814455507 475185511 809947065 225388959 378175167 290766801 566012827 116666274 328237221 923196822 114596503 185257530 737026161 161187642 451784464 135440487 858951263 508064126 857632486 950623545 676962622 911678297 337913909 554129552 336873696 648510395 382492158 690790032 301862131 262835942 801715252 994956626 234713424 520764041 483529124 338950274 600973649 215795729 373393771 355301791 226303507 445333195 689068949 483628098 223352280 587459149 946452256 465473732 689152379 754605744 511318627 874157507 612913019 564838547 365832074 724429148 485847667 382278472 888706139 945155174 329143027 862056556 992319894 722407884 883785328 459640401 901546325 206291847 994057009 374271631 789441502 466184828 125907277 915854565 895493205 591469678 263791782 809690772 969511455 415978602 759869620 899505024 740826089 909936215 643669779 585677070 399306490 795139410 634018190 814579117 653289705 585600010 745476947 273864954 236766887 652408515 598814465 669644921 582802004 761159854 658965898 228472903 642408874 478736644 154408657 492306505 873419189 502159729 338231138 622827495 849562455 577005227 250161997 966088642 723424755 334288020 364076067 492511227 322656640 126495167 105575995 118770336 745434165 662507154 612588103 552842193 989489435 737846898 151996459 319945570 306579380 951774281 290116402 680279824 146980688 218923537 635011894 194798451 528783939 518442934 762213502 632953516 750892236 599371491 146059707 546373877 582051940 518663510 669031956 670736820 991757686 365212800 320837033 264282347 558137139 747194654 664631148 548340504 542924857 674902600 777535043 416659221 896053682 241905735 991336300 184907977 142541148 360281213 821348573 715804790 234694690 782047423 225501782 537144309 348113089 447134491 513248437 741283048 477072866 815304949 323673395 386673742 683561195 768013546 916970294 351218111 118409604 410519068 271653173 267698000 485471352 460186435 929340467 687719016 294268430 113307195 242675512 776860333 157904936 567304316 719770135 782490903 137469101 738377576 530766670 553870213 134880645 610202619 728219355 587913062 746142927 102402170 203856732 860099787 649797391 569634622 909533711 433283598 136793940 711990872 771809294 325432861 136002729 331033436 454105338 345961431 665400221 111735791 527456675 841398151 730279559 872836897 628138086 119119538 214302648 558343025 313920235 906401306 567133787 720752325 269981184 867275420 180520639 617434087 616736836 736210607 779315816 827309093 313928220 658623589 402777613 410951464 413868099 808458889 796388185 996276805 856790250 301534881 553259192 726122374 113734822 429601921 309531856 238937756 695346317 477279246 466965245 932144641 305689307 381129049 326545731 396862184 148455680 729188075 880100097 349996642 949038832 484142790 920765603 390256891 519753600 693478169 567683453 268508512 325481917 737623297 450007227 277366608 577152944 337330388 141089574 250893977 680621725 846941246 984461256 493183521 154352373 260307270 103905948 846912217 508134593 215178147 716369226 543005808 100873012 564337582 375744529 550330176 198427885 225540802 884094738 149646283 900617712 456882757 500924738 868750942 918085620 252703705 792182387 529006264 491665456 320663949 498103388 634121413 268346764 992773082 540946174 185604341 491316305 348036380 759462521 816921985 914759826 784996504 431921188 609609758 718964681 555958526 863838519 131863393 149322164 708221295 915935110 285199542 375350445 658973837 527529031 232329089 485812035 992596867 725141332 926812786 820688421 951542816 446968726 872415671 592515000 578282159 964256279 850599401 510452201 599983864 175239902 727906690 804883528 730775433 587449876 179551400 536119205 206906057 464299420 444062877 334907757 466937144 865047084 762826476 919714319 452787959 999940284 898134256 965024312 474834055 186171390 107734707 667994865 698031505 180496598 151665113 141562766 731575982 293269260 674763759 544254436 261447429 775128460 428491336 464474397 618296682 575728387 444438963 747541484 421603636 482194471 373774501 972241085 122277368 798791939 217661614 288459816 500485531 952918984 272933545 200280563 434682402 125904143 463471274 448424748 538659645 110577769 562511610 258342314 614799522 813443903 956426180 689632851 280589755 992802564 965640411 809616249 866107157 302709056 332950453 954392299 422601260 563850857 678636996 491689877 841359107 890708139 588550721 689905670 905368388 861448704 211846863 849609506 428720759 869797552 264689172 523578602 529186795 547262959 445394205 415545212 685038915 773529702 139350077 636413103 165033036 213788070 112847103 230228758 506917053 237777770 485911153 584773396 366649101 263954427 291455218 501505603 954203342 434606079 103743005 491594024 827704436 869646973 830474601 686906619 200307136 235202320 350888910 338811256 456699725 454633751 530363069 254270798 600644491 585850837 154518191 191782410 573707934 252184915 585477138 685614343 686856525 192222841 508316184 349412306 695004792 354265029 324520533 154494264 388060780 171679793 622788025 829472934 567898036 402928552 818602739 252576218 361821172 768783547 488370609 799159719 699720514 458177681 820904940 163656569 213056965 397272523 623188390 730921591 792376391 630718078 457690012 120637669 882781993 479205340 579287560 739484739 709550172 573338912 677536895 948167179 184990133 334870016 469899957 789491051 195556037 326009496 780670057 818697810 770923226 796161023 214357113 505987495 237735681 779425250 751609712 382316313 767371524 423987707 924568124 277259491 572875310 397793901 618870226 679125191 915805211 792954206 354495899 393091045 182809470 794156668 110120955 219429332 121812106 602341988 466892156 448877735 349236192 357348622 347195047 796651974 340814395 618243484 462385849 896857786 355118763 780832161 439421945 288762146 959661288 927965017 749368866 699225128 651179225 893555992 706095540 460755209 732921725 487387512 773739798 857400764 664289731 253265903 506711959 653593021 117173366 953815294 445307522 990034338 952792741 107048165 448094394 855368324 526910426 511644894 492159530 814751743 738692669 632990269 985121936 258274500 596830836 194275326 867031672 459103312 680885042 579384651 751605848 730150934 345775544 723487306 857608592 343162312 572269529 597175282 898295873 846869097 317097298 668609814 800210119 833605624 375966224 471136981 619526078 541394488 424658635 461450216 433067998 302198394 824192121 485122255 454424068 157630636 101611730 598676841 319992182 638081676 293914060 869826875 679593590 478077027 348719116 773533310 567389675 558552628 329609409 159446601 948648675 832479588 312839620 149501122 328304823 364337832 648351395 452749057 341529998 888980016 528770075 917063546 374126667 349536343 207444232 775308763 298009339 186427615 608093897 420242683 364916917 451778704 227761447 339587263 875804304 504543390 121523309 340559703 909418994 516391639 259847076 791264474 371377176 120640426 845843744 764481418 702685497 746020117 318883949 970401778 889062389 178882500 141828116 700536575 460302618 698382872 602098930 496299763 830345516 307488663 907808538 399983628 763138126 206689562 417220238 631497042 800250891 644323853 914863457 520703136 884196710 640827507 784924870 188927547 543703535 842526714 389541704 785363653 224850201 275637494 642267218 914475454 618860462 884550792 482744631 868651995 441642993 778627668 176699304 720113582 582293585 143994827 650641626 114693920 615654811 693205614 764270162 872367824 574567322 550885688 280947394 641687275 169404305 318365580 277946793 115455838 866145432 784397011 116702874 559810776 372007640 544332908 183027042 837217483 512689602 374324150 997746251 190229978 266946067 413104489 207828214 697974162 558971367 675388617 388638628 407755436 596206936 760711189 467408289 258452117 992067877 505984451 517537286 297252759 200419056 923958237 824474474 319219095 839070774 825422830 594054828 347939004 450195434 446714676 841097071 562724945 733662355 951757019 525016082 399249235 770873119 257239909 145096700 995701739 651649396 254287094 418005391 988496447 210713761 263684693 273685213 245784144 902346328 279533015 619534210 131761854 420757202 120881021 952775674 370991653 960782808 957817864 442221661 788211300 793537674 329375461 819442113 309522700 967107930 488086486 632744864 831165587 976105525 232441341 676634200 196404626 937877050 464778870 621710304 899427302 934178196 750690955 855330929 107722279 541116622 729956718 124479888 415715795 209883645 991406310 439688393 789991194 969150634 392093542 562165130 325078285 327079210 774964119 514342414 330016001 660590518 354071039 551298234 615092135 744878271 773533005 549885648 478132403 219744540 269605503 842507165 711392208 151196861 956325094 261818440 524840988 146632333 349690503 307578923 495856718 489463813 935576379 364929857 334015200 983131966 881494741 313352441 318686198 248567391 665874844 312110199 325281363 349331261 897724967 367453413 711320400 203922911 117853145 801146491 495611143 794162185 399757817 761215198 450793148 508311971 299444555 821625757 129752816 277461067 301965592 119889621 516428273 882195330 356133798 800659939 889048201 668840958 198162143 647508297 785337746 356406803 216367922 910019092 624054616 883406634 959157627 352259991 867068962 221613511 795428850 705730326 207497457 253892589 152532772 205796604 714999424 954171990 835954383 800157936 889589936 552964403 434907808 896066672 697195614 257218483 746403359 605325580 203966366 997272157 912999811 108914368 216439748 454703184 803308106 704058304 832822795 696186602 837039879 180889052 912118915 968587456 388603243 428460467 281797364 782267229 836938469 930362811 426636476 550796117 884203644 317809754 568301947 268317775 762515564 901514323 643438036 201291512 782632859 517907517 728991946 478692170 529575024 809248730 434511011 299869099 156022839 449020659 569068920 253664690 517815242 514750689 236694196 764246255 333001959 806034692 800988651 109650479 225531421 944831751 419525402 912909230 129300346 846570041 588180863 506373553 701643537 414516626 946854321 846824746 274645215 804791453 104654590 430356987 493455869 889103573 859802032 123797846 909549159 878453887 941210738 548409084 219657806 329130345 968069272 169950283 281843643 706756494 899636843 986024525 547593118 228813673 867458844 713447417 290393552 404123356 433246306 863095746 938608763 740439845 634337141 433716712 215539901 790545784 844813931 543100743 462964061 129677611 320182770 590606600 985152735 627518833 306981616 618723875 172459371 620819287 791088812 634317030 938726693 998627433 720670377 131317604 194048901 938006235 479380189 280253567 807512487 146147845 234830968 586964302 206884873 486551791 248298677 250208212 271503661 310928547 747375761 576217434 626577092 603779488 387494040 584132466 223094532 695580109 115862127 606545481 571126544 441609372 876726490 756247021 408321531 491979412 128559263 107163195 631923052 855686960 939050604 565905055 735214752 456586779 285380631 142016464 886282126 456021344 159767172 373761866 607074636 532020347 912094678 405398751 481091450 193378614 299501552 396074439 481701300 339594279 267012054 678882083 174496151 747010914 712320674 405407916 291550707 433179458 769896735 931550415 500771642 253741891 393616133 500218015 366278409 548809257 185734173 559594680 951548457 917677650 842199940 489030836 983117135 851379679 621919741 969943731 677741123 797969223 867154117 685194562 620109915 251072409 370729741 883431849 657906107 806862106 534340200 722767596 306533810 422824695 367550137 209972118 190284642 458153110 623498422 700785590 290049184 284974934 789092414 460776881 800642694 774496690 254688438 301673469 250686951 355858138 210021134 639724353 793327252 534645396 200744669 708476069 785792557 225030937 570329415 740552354 149717464 688549605 890817181 676057303 722028381 885763476 834745642 101926929 682883508 352190418 441476123 753023430 781629815 388462707 897522142 828981463 567657761 491097961 117672639 465561717 226497621 155706518 649998683 715099967 927112617 142634968 934743778 309417729 303436828 706309080 289982306 646927704 786163480 118393943 139610041 228529089 320637355 164575703 506027490 666816059 804535721 907872450 997777143 720259050 405970523 891852293 563761928 749496546 333241242 912530702 566775575 332273627 193021001 526565654 119078364 202745750 182842435 578691251 916254529 129787393 588460195 161274222 340015946 594702342 873860932 120301964 304279094 407139401 602879446 374423780 498261104 352577010 101855102 733726502 730789193 928882100 116774389 533905394 323304519 611554971 808901728 221716913 235030314 938766329 866166299 507041510 985943142 785021478 345857411 152648906 277518100 745588395 704491297 886155846 480956483 678978329 973752372 127129913 272698981 694191873 276663189 276751496 409018389 721000688 719703920 629833801 302697683 759782784 653975717 358323257 852011334 862135957 549330739 640008112 130398155 873169205 888069753 300461786 875930326 394974259 911988304 597203238 408544287 809835077 993561908 256619228 596730365 436730582 351174342 352708114 104885344 324614100 693177608 455091535 905498911 162354362 271259639 413557137 374256754 269179978 999207762 804869401 992435915 128619831 904511971 680698705 777285038 126779027 710221193 443734656 101878593 519833194 709658577 513980375 213693221 627300963 713806810 484946563 688875475 341583711 375723475 294241703 963382921 919486125 172797770 533709340 378347049 524152095 923027424 260214235 344733643 795983514 155527948 835291569 280793285 875344202 547967064 134135216 658381882 153241034 304106361 285466351 861422967 124859310 574522244 889436669 528497208 298397348 813847065 677397887 382316751 525151958 331789280 698953194 761425937 544912266 609953475 999575351 713097366 517291682 263704326 987717998 872323498 303479352 340015919 465908687 970152047 241706208 669575413 757983156 956629897 513986820 556776568 554470503 138848130 229675817 920369080 754824439 975416724 806364577 606544575 158818258 929293342 619210754 771501840 751734492 964233014 154412464 729679959 624417563 251778984 118835807 892323140 323615977 371930709 108823559 286384101 153997383 730715668 809986678 564661337 322102001 309781359 616082027 139129009 261048418 361672849 636424518 697883233 596332434 153220516 308445853 820876839 727244171 885664203 651424224 887281124 886357597 509626345 230040968 258737517 467388654 625202355 812274881 567711990 533545099 817731086 237924245 430264851 167608751 253609981 313982352 335676740 249588046 770217564 386380587 426811510 275259061 104781484 793276130 153958499 366204389 773337003 185848717 479621148 259959286 496982609 754942801 715560665 527006521 779956067 234493685 819392024 549446478 581612867 359286213 140452662 759177944 408756085 644842688 422235844 255232729 358098535 659534815 351119471 211949041 886297164 561278890 988184788 124746018 519566667 684980056 691560004 766513377 918966054 165940830 852332417 149871375 509304483 396704677 225637556 248712010 822647376 419176614 557895196 988872470 730245581 614384424 613608170 395901495 913717506 100002879 873948618 210654211 250103152 457223199 579413081 853524390 976823357 157738676 470724468 605481918 442267802 792544552 165515613 216465897 903185245 180697468 167153269 977818989 937886587 645946018 285789479 238288056 830610932 862417629 169287097 135839365 287355171 279304291 893609357 378058652 585815737 466953290 573908471 335583869 343691678 711871134 224840339 401829967 993463949 851872721 558437696 618000335 577370473 569791435 764464682 937001949 105929961 660280460 290956262 574560828 533704046 843589805 437375981 373694906 121802065 220174261 540148798 305928751 802017501 716448604 266906320 896162405 916903641 354144901 507613743 561874913 546762932 498255638 384784671 976054475 285125686 349895669 900805015 190161854 618388044 454987359 223272112 815344598 666602370 462392486 289202869 731065900 637876141 336630160 685769640 435851039 367680082 521606132 635520895 727141890 360273873 555975785 586909700 536017254 974326994 999857025 607838442 913050839 133310440 524247966 277499611 482234069 215384719 767158611 870269026 988571831 803719839 106687963 780639285 334168201 964489174 290992128 606435105 434136786 807473269 779718293 190381195 422399410 511826580 370181879 728037946 272591540 231036016 625171592 814210576 946709362 479902504 104570732 249957377 439619472 894981487 514309729 791939857 543880400 824205909 263045231 733017344 966582054 286279928 411538994 458522726 273377786 449354060 260627226 543987152 760775944 347057384 545486341 175694123 513022497 860520760 395813945 875507799 813371219 231548053 134580182 546537950 347530865 329005116 488353452 463447017 379497648 923056868 956709887 370263763 215806177 785984358 324590198 710301400 467876655 442436916 245633396 217788807 976507080 117925810 735630155 266089417 183640153 834516395 827335879 914355687 146455048 594324196 706741485 326883343 918296250 162400340 743053664 128333496 433199841 916741757 820577372 903249640 565407187 161911299 209529388 116100685 489894440 242271024 883622166 926433534 102813296 380801327 101717038 252004310 532294997 271278317 428577079 676754437 654138850 351025206 338493786 202156830 814792833 299366702 313370254 409835193 988122094 841969464 310134100 522217898 885091098 383027906 542003013 988339092 453479315 526671026 828850395 448059781 881006063 618726860 658119641 257662698 784206180 406220418 621175279 582626562 493411614 204138621 892188005 628635450 975314629 924355931 293844193 125576213 667669778 924297538 856571374 665816621 916226286 647290512 909950253 543756574 925580665 829898490 293295078 506035702 422586068 464838285 518575400 290898367 673082750 552366818 461566758 263072579 263710334 982024002 702111429 410154645 360035498 676916163 574769843 278578909 434165599 342116790 367198152 545722457 762752235 579751008 436105026 767904557 578159120 639534721 967775220 317002165 313452224 190545435 419352872 680840364 309080485 967713649 283053761 494528004 223284021 420957102 976883088 218808061 157888614 752555025 439120542 376745599 198130794 416700258 831897898 157701283 583865078 906751758 409879070 413173402 597080523 810844685 427274414 815530793 903216743 328942221 346659295 954249864 299067332 342421578 880727175 633383003 268898207 489381138 946255681 597741112 668554772 134204476 476670548 825289701 780389004 716306544 728336022 349562730 459079241 430753576 367487035 139761503 751646629 509620854 932429696 421273212 622262167 475688449 980355771 339879878 367123178 839458288 144551667 539874792 607229250 868490992 525376725 401584595 889134970 267846579 443180501 612991668 525832612 802312124 886252073 715074098 707547047 839866778 603273770 950019586 330154356 101274346 674566358 377910160 702372823 672381570 641050186 195359201 835901171 358970107 706983992 328888637 667056739 979425032 733261210 182546109 226578553 393595082 607495485 465479749 941185857 219208576 516522169 674297465 592479651 700004563 165136753 594571090 642660763 786111107 384446937 270500495 639781564 381513519 930607108 539312898 539907663 211829463 622758419 221721111 638255489 215961704 881484017 927261958 273621495 912076082 557058082 809578698 559883032 292621310 833656689 694367984 575223815 193299590 725930179 724775327 217396653 160695940 188709440 676341437 964216765 240967063 452063049 329593809 324313061 908290128 793729188 882986995 447001712 978148235 174893989 965821638 862824897 192340408 819945555 469160036 395458864 363834919 558914076 445037042 236219156 719082063 735520005 151854880 675716590 556965774 913653051 438454602 365776971 481225508 680471869 202207706 134733314 710961183 856856988 215455885 590648600 436890211 542974048 328173823 935511698 143012510 387524002 140414310 891544240 366992263 450909324 746815361 335049228 157202916 382557536 188262560 826481904 188524097 368303522 448063503 819473722 765631904 356061799 650174397 709248467 628746359 971600570 206152476 745855088 397279225 458662225 637258804 546955655 534653908 321429604 578295538 750607786 199854439 809001757 791666409 265168408 396270384 534775507 522739722 592482129 713576074 530489352 439649547 717161296 115216606 503272344 629926822 677660417 167537768 182375017 960298089 461911090 909505713 972346602 324232451 538087383 360739087 654342780 593368496 196312190 138283403 348961894 601671139 753943958 424425247 267154312 801303241 679160471 314159361 627456426 320750219 153831824 389309027 393202266 893444903 536267036 455226931 316871392 890759783 541270612 198887257 861483363 240173247 233670451 773355962 444036560 362958266 500901273 613703670 165965302 835889736 933300936 798205995 170023302 412933302 370926098 765023847 385993984 413064792 406420269 915692052 187441391 542482749 684036338 895586143 989344228 442290173 215936564 445486310 213482314 663683076 460370653 604385435 201646869 544256544 874439459 168163071 589400589 554153584 478894214 442037602 581074643 728474074 208182125 645221235 456668205 749814800 749023600 786004052 774708799 277866192 427298439 921436133 616187196 227396031 282798568 989817885 248019305 959130140 290020182 619324369 242474346 321479193 813763674 543278768 379958795 513572823 808820954 903706552 407197072 438405591 566513094 103155886 396774118 105760064 999903631 518940140 392415879 156843520 429097927 847865698 774265480 397730164 685275774 908206126 955045484 585208951 326966704 752595213 737782555 934705629 510192159 203272346 222064284 134338341 111003459 917203104 139387905 989840860 848156871 613398756 690228374 602924607 110285192 902336842 652213852 498607266 693792430 846875432 536107537 619589029 350632619 930281628 116131585 541854317 775513023 321222008 483113378 461663529 429988145 230615598 469798002 935401623 786175218 148144598 766881659 165884350 214386766 992147745 850716758 781325781 413620930 382507003 182343220 130868687 520640209 799633605 480358774 467646684 820815678 243787564 141823933 326225903 521061005 312161378 790211886 290892990 556715769 765285804 560979765 903536194 897109847 253871660 671024819 352429503 871206495 555212359 775774022 812691110 548377580 300314160 505753847 779996694 452474784 517283270 833813084 114765926 735359455 360197812 703346643 714519716 815967068 563233738 158043413 775414191 528406596 526076979 276827570 685697972 598973670 213486872 745253430 728707233 120787435 821692858 693233743 434439561 703087753 567849296 497355597 970040163 739352579 304719419 734703739 481358487 998390520 154158542 877639672 534932243 926714571 744191610 359441902 507264537 453221428 719422442 725427832 205665640 441632777 368971780 274318894 951297960 817757022 938612742 426173567 106619589 518132405 721835479 262132778 599473430 591929532 182158247 588342547 965678207 742124377 916978744 578422652 743772486 318351945 862621568 711020074 929079202 516169019 436154776 672781267 398167143 836871848 686434531 130237337 984295884 731769228 364273984 143467485 332542005 698072353 100997326 471131616 331102829 784058713 272709866 223613421 372681361 206944629 817660230 205090892 347606874 519222421 659154432 915881449 911042776 955878122 397429394 728538573 299824987 797341169 803517925 821414973 983273633 531800970 892159713 135865346 243724736 681977632 354852324 415694390 937483576 960279261 566313537 602992329 378700252 120942743 488213670 197083351 669558304 773908274 317129515 546007932 697360006 211607539 924177766 906197526 286108747 403537084 902212360 204834350 274586211 342918559 284083937 926080132 822142604 524272463 352020344 361067476 120029232 366415576 767784623 280498569 673750227 538879564 113624389 325064160 604799670 496076389 427369462 884582334 434387415 750683624 336587750 358637173 496836863 516750292 665239152 375387245 409340616 701978060 442002685 697148152 153001153 552157779 832197558 824000927 308625416 862993963 900514571 633151878 980004231 907220654 311619943 650638756 146184402 197934996 719426550 626485241 496478920 710862445 253676395 514775720 691001697 447190463 142107175 921982028 839201721 360548070 700401354 603342807 390867231 153532583 678499942 141985053 447516454 138294650 204647431 453454981 847979238 950553690 185404682 144552802 783676435 214592598 132983088 568976550 109136951 174599967 646296851 619636870 465183322 883403799 459933672 169069849 478849821 883454892 754438309 962076766 551248433 822698675 391098484 537372237 657051328 188295946 892883631 849873899 779558060 663700491 874638600 901584282 797002154 942220871 890297902 869589426 838906232 294176528 663814441 365871053 524572493 441036186 897942133 893201549 879412927 700699344 119106174 635421049 147572243 852217372 743435481 465332187 133670541 707791696 583979045 565181199 565341521 924225253 248735040 749702130 362757266 231598770 610760469 162173993 948556611 290087129 919595050 538792559 463552308 613511185 553636644 779218734 667444541 465798069 643800962 740237286 318618198 541943732 556443164 583575562 310919673 577808142 459964071 580211010 194693823 771507814 499120945 552850295 859333082 265041134 533778103 283125826 250373960 186619161 790931876 875398810 672053928 453556339 267191434 594921567 260176888 198521035 375607555 590514661 529167303 442419763 289263655 900820821 110193741 153132311 895660606 380895079 280388301 679481500 710921450 920857526 225270588 164545782 470671974 366664066 473105618 341298038 202321014 579073350 652172246 261247243 301150488 885951170 728201423 946894708 928490425 999388697 322778499 215134695 147995273 986778065 417132370 846870909 111918800 757171152 679067512 766153894 294206887 548668381 561500279 181067196 655466354 386902970 964011541 420838254 474223430 586650981 489038367 751302130 211138657 319161695 338029199 458525912 108350473 619972796 339378403 775333062 630045222 932844133 682503516 920787425 578214572 720629417 409432824 247592220 253805485 482051705 230437805 286215628 551937988 765870608 673443885 400293985 201373224 524178483 118599672 205785241 396920609 663291998 330879901 805734390 620826830 711751240 165324803 360898442 831610679 599413058 868705436 821021872 352740921 985775971 241443822 504952157 873033953 176844433 219777706 748202522 165447037 411861675 231936412 566644968 973448103 280529922 649560990 732451746 881480151 811946544 117525362 783890209 733437621 655121028 785885570 379737001 930958433 105832447 538736227 225729828 717766808 723643815 171769405 954274769 466917880 299706344 176085844 312723938 605120595 111574089 411605048 959927684 336885021 185698997 432420291 171599890 217832207 848366334 940786033 675769725 245836221 694897580 936084084 565790980 804136776 878821401 478958927 481596921 274027302 689894765 991507657 688291411 114520965 601570933 561043553 165266836 931493305 536934327 178518599 491586220 589121514 129268809 749001292 138925551 814548591 737479466 132866739 105881252 891661823 401142185 875799754 825969800 847765993 735878675 538871805 712050009 190202002 996804012 228438737 138958163 583178338 646523884 132801472 489479326 251113976 848419316 538584760 181934854 113160770 607737002 984320037 582421360 682711239 564582471 389480921 279195114 188097166 514043142 731531182 526490211 133250312 244590409 641959651 444982867 376727403 858781316 751525978 942479148 313814760 449550639 396656262 363575731 453200567 846587334 508487844 204788398 880036117 437625853 474349157 513220908 843348773 587407589 235797283 940664483 834754913 562427932 526043021 747623243 434454189 638557124 536728021 549555219 204802919 266300450 800508738 719125465 759923262 665215417 379160457 530690227 329472974 577218494 632902324 743009498 551273456 938711301 150397266 873133651 636742871 328170103 968835755 487929194 964485157 281439995 647856466 119249413 408864487 459432150 864403897 155937299 975933443 689186007 804954865 423107674 690300289 957330170 974118100 620028928 361410099 535511383 740499837 651403300 431708177 977972802 397995323 661186825 418670536 172182574 776645594 721240391 575983560 189025507 964674785 858434189 507912224 987933383 461626427 417581108 309430134 586123397 423589398 743423937 361502611 303105721 854499108 108495976 735697401 919642869 217904338 121351780 644174217 984175901 582484232 870313915 108797796 540482500 511931616 869893553 112150860 650747513 883149095 466853280 408631744 210566222 847254812 162045977 107954060 820137358 104846944 644001348 845510177 434014478 747670271 171013394 767548969 299742141 353961301 684881953 310752410 529604889 299184902 849294081 535114651 939560606 122889633 225527256 497777528 781296257 125371924 922954846 108317657 296224551 502063795 223721816 113953367 581723105 768754173 193696444 106996037 861822985 504781889 760077863 671611218 957063721 724207124 376833900 743088243 743797020 138893592 138442137 693416889 241969314 624304220 132161083 784841022 604378020 791298791 861993559 702852606 846316192 156777402 321736912 565589512 888308111 925120811 594394591 262541604 235516436 856078991 850582452 842010910 460457449 376946964 782228633 858512144 111593795 426154599 832689325 779885157 121091875 489154611 726530470 315740812 175782595 489395337 729643687 811699940 904348239 207776258 442035437 579126522 362922621 396469984 803961412 164990536 107324031 739557164 869346332 354097941 588228431 724479799 881689347 589173762 470131967 888000550 548896360 463514273 915113351 828028146 938772189 867001486 531862236 138137519 313797973 929334528 442051899 612964991 679627580 735960427 123900730 902129047 460378698 108372946 699983552 689511723 786552150 348859369 281344390 992915348 656625141 742744705 931432900 287390908 443225786 144252318 525331846 618859003 406248916 440423961 456765816 970693542 906130580 394665652 853459630 689283496 689060222 940382596 922340831 352529355 368937915 737458537 764537031 520876564 703903686 139326803 211017070 598677742 688475891 193038158 401778536 749177038 412378351 606204961 532009153 994861179 687682678 756231264 969968831 542380858 504070174 467163394 965490223 284467738 430047770 756393357 550268474 739681684 167291122 152220414 235872730 358155666 418930225 245968305 371570198 698839208 704282748 206893833 978753317 201707464 579447486 601390246 645773253 748081055 166570118 304764606 539341848 996896450 428230361 439200855 445423563 543044478 767842222 180190504 263109358 981826442 895771321 720759564 960845381 790347407 427070110 686829315 230569494 627879750 583776323 284851308 379390233 118436241 746955596 920113734 738515437 772030718 303973240 446590339 359983529 885317551 465196714 112945116 783334043 131491163 835465280 366068967 734748108 385669911 897013880 389289834 615014776 427800181 358826762 949066147 883775569 239176966 857144078 227762591 887384685 542219873 827092871 342122504 166022097 235531116 981127416 247620656 700649865 379948608 585388407 162740837 903452955 335791286 755670387 643164620 299082854 424025485 408840719 574968111 889068734 844857175 597547485 587931971 352232974 375321251 229889633 139473157 945507058 683914968 701185470 293968537 560566367 874227832 588828468 227995359 309282281 407707369 576039463 335874662 358082927 695491304 517426112 686888240 608598632 965214632 851920009 672727336 978772409 350482777 466379923 400574120 853935789 710893303 666569171 529005297 921007341 299565092 148065600 199022690 810544898 857371632 924933938 777711193 871475915 820970946 220106020 570384997 855331880 337966588 267398690 540742325 732712103 406176942 244571202 903967408 972140466 505321945 439878338 889993164 262600434 681414868 710347891 222775688 817858167 116059283 925364551 749447829 354842013 377488536 622746310 142026882 386515176 654727936 438922240 631912122 559365158 327855551 487240155 216644641 220853770 316999373 697347656 718186951 998886478 238520346 309061023 694176403 523396977 663084889 353473811 179104606 109698983 902520176 790598385 603851491 320002253 962668785 983449267 592897364 749219942 576804763 603059361 775987348 434009849 479267243 216294390 222066217 125971161 619382759 940705482 803079492 917137038 437690619 476818003 600040502 532552527 518431279 570397872 748827568 407526856 665381157 381697193 780528251 681273802 867948155 869796844 406395090 422786862 909041369 320411865 860689421 499620343 278959184 513865718 162852852 275104063 392565791 149280611 371697788 854096274 902515385 226941225 552853018 735155176 181681281 897959147 722300459 183482261 552012609 425185383 298694597 134797010 960422567 471281437 962584917 130929648 696816946 955844901 763165477 673462081 720049735 199208365 907342989 644039657 608016668 681018375 450205698 646217172 540819717 178283464 876292889 291361509 661755857 146051525 287287033 635524617 799370935 939131099 252852841 996977275 527844245 533674539 841929884 918080849 639915267 349692193 946690129 638585644 496670972 853108235 550443837 722824313 438721039 189469358 412936489 266506277 528823285 207693497 492285161 639203999 964324988 897953656 179777385 352485912 548240748 331412958 487014500 668507119 280932518 301393634 384844896 155828579 554720488 830637703 216979732 549290717 461444387 376233389 584742693 651953404 799910856 771955741 620554790 352669225 364325365 717270724 370384844 738775781 618532881 732976687 973386648 581380242 934695569 879287230 241154055 891073163 694123790 193102432 175738373 429044108 465784910 911121438 607845757 480310430 634087119 191450066 324643275 896542462 403208187 314683222 554895148 710736373 201246075 171124518 917961992 258452107 494883861 888368674 971810494 673169177 302752303 470587480 906376617 680820723 656556125 193930854 866412506 577453627 552069549 975373030 259674183 284546295 280280076 288690366 638825774 689921588 704812307 174783956 593299955 927883091 138730637 353754597 609849162 674212387 386337655 863329408 854051905 959364497 552552437 430282731 762869693 156857732 577467121 110526422 855365499 145543400 335782168 665749035 236007670 656475908 669402207 603535219 143084523 936485251 855339702 284043368 237885326 535953086 175666799 659973927 498590748 985569983 497354514 106474050 680413202 716339820 828540262 925852323 758807758 599922816 928884417 396126172 372139719 795362046 300995538 425181008 398167934 450141002 125384076 840019510 881337879 629278539 571691058 824433211 416945652 164106868 548218481 794223932 439583545 460098140 565788358 817252290 460842759 109449151 540156543 882216462 489295207 249033673 988551202 471327098 468790080 896476523 324486638 756289860 801123025 544181847 876755509 422547027 920259343 411948858 146452000 956810180 837835780 781988343 281888892 414167564 412886915 937552591 819053367 471400776 548186896 576620768 439162800 228813526 119760836 998791353 349156836 853886872 735632492 793310739 958725083 793907188 672298058 448934215 204796417 160808459 552808715 720097963 191338754 163225642 717569884 510004468 794127621 233693241 103970608 218644941 487294839 574003403 571277627 535583604 787129581 313236911 458106757 495387345 806306663 800514048 973361019 102719580 226019904 162529133 933221727 807947795 864723669 552116771 920135927 608505687 330398462 949273748 915540925 503708938 209720983 108163139 819534216 241012444 401942076 618542392 624984252 621719386 664828527 241124875 313019129 850637495 141178921 644647711 139431983 574465703 906043472 789970163 695301505 846466811 358855062 736835666 624940316 197058286 759431393 356482686 593659677 255401632 899283099 370184637 481065989 654285806 418718015 362812399 865097897 246889594 601667610 978105395 196084824 156699144 696086451 956724803 764992321 939403722 370033347 101136419 408443665 431988208 469956595 399230068 938891918 170928029 691447426 658974337 887980991 975980337 390479310 739188768 368669679 878542474 479064547 670280767 247805423 995586565 456698727 664408081 979647038 836980801 121404567 798096505 644181886 557842336 797299439 831015871 639160624 722121330 300841336 589218831 645245302 807291749 558045413 295461427 616063960 473289864 699298009 937601280 633524458 222667905 306226891 768073879 826850412 594345464 882189919 759635790 102471572 586142804 174893820 424548706 887867680 579549419 118268640 644604655 909846118 740450450 347109459 617079220 102308305 483930406 133174791 581026764 169759164 726184389 652648182 384318251 117304526 183812427 118243646 288436497 417832420 829960574 636006411 238794768 978952517 435772695 633835343 820018734 902760861 524101953 943846585 714947313 610456887 926370844 817565267 724650437 909639937 265765512 338658775 303416860 364383144 645076604 564901792 950295443 235672822 526130158 831328023 388365955 159981219 145617553 211157910 814587588 389592299 197685262 195755338 591102300 719670181 485390605 654049030 821140105 750106589 117065012 677868683 472030063 799767983 233970264 484258641 435250674 107562860 109051497 315153979 937024289 645480232 799492409 362725014 251142604 158763445 392799350 565002767 444032391 270668816 375923617 872133725 467820230 789742273 662140157 831829215 426616737 588429834 754801458 479205328 231291437 961104202 380793024 158589896 551664923 444730319 474742120 929572178 464963315 983240559 842244639 637779505 813287872 218540864 554356521 843010017 503557242 246522181 464296760 818372170 326629333 181146846 691200215 283146293 333465734 305051263 660932544 789027390 958054748 614130051 793642377 484382027 317767036 476318774 868334245 723736055 279880368 534789419 300028923 625473710 727127642 330911440 897451029 143393345 233460702 777439408 991183642 690472044 377660318 277631271 372018450 742288816 666231790 411551781 378118997 338339116 533577208 337298837 436572956 682323967 727730920 182963811 248437096 313776759 964814430 309201762 372937601 655000924 321589126 857416347 561655525 864779015 619944933 634926616 182547698 176762714 715139716 720015915 442990497 796364961 693188563 844031532 436715932 205107817 918065925 765172055 220986540 996479940 718072375 330489085 827302276 332319602 135927696 145551756 250737923 139138995 865570086 163860837 964590251 817223290 425825283 678769991 387074210 796970408 637963823 797829659 541548861 657975783 657528759 698687189 761144567 186030914 900202378 990764537 447713246 103708658 486175591 385987821 488242200 668393786 408877652 549369708 706264243 192781130 671740504 868840600 781359605 284704843 430293848 655260287 227056936 150942147 629769044 805905423 942363193 499091916 438019400 750359300 118255897 501480571 257674657 608162701 242929255 479974623 507285988 699603820 476070116 818107074 303426782 926401070 839311254 143052806 834608094 372896837 134825407 491951809 565508160 631269604 505018218 712793435 848834632 697143989 863772401 387136478 347000023 739894944 153114978 100399391 144106464 833409089 924410819 144338080 412583260 486454803 336475591 663675556 428129456 404082922 440979097 709280128 345557641 524878782 821993900 584348497 391289501 336322600 414468079 277090423 156089526 761849061 373346816 960807995 273728747 518782507 993793345 857156759 321921157 147375634 971265011 242741370 556711643 562286811 268089855 756775161 554061819 186670796 827517341 673099529 569018265 461060313 474458373 818346237 295259057 979918318 350225211 856355823 915820139 557233874 369203461 872459046 415375853 812441413 393660210 730240921 701593878 543556875 327045698 840138163 577301431 970654214 692149883 517652290 289506919 789646388 726817578 778923671 531053596 310973911 729573987 748210208 567727600 174709795 426530677 708581561 817066072 695116636 960376743 135652450 767272565 324136792 121525084 442513082 866343412 178665123 202877421 975625957 181839836 354176044 436315594 292237179 336502680 370538227 567079257 223978835 423249896 668644223 723732031 174012696 681710052 724637894 875488640 491316302 295661170 940544203 353976564 580147046 529225701 703911659 639792459 561397019 913452627 599233313 859274917 954096009 638210981 968667621 790543206 294368993 659280770 614653690 842534625 164574797 754821138 393801567 435841602 232891208 493253302 591810624 445588973 677927644 800555276 742335926 954806752 828370300 811915672 713973941 918102943 508175173 586276079 865804305 800942988 469680567 184382724 227962278 968580613 465618692 749191463 978662722 901843685 428420687 603048813 387853599 655327376 480244679 547850004
